123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485 |
- import {
- __esm
- } from "./chunk-2LSFTFF7.js";
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/base/common/errors.js
- function onUnexpectedError(e) {
- if (!isCancellationError(e)) {
- errorHandler.onUnexpectedError(e);
- }
- return void 0;
- }
- function onUnexpectedExternalError(e) {
- if (!isCancellationError(e)) {
- errorHandler.onUnexpectedExternalError(e);
- }
- return void 0;
- }
- function transformErrorForSerialization(error) {
- if (error instanceof Error) {
- const { name, message } = error;
- const stack = error.stacktrace || error.stack;
- return {
- $isError: true,
- name,
- message,
- stack,
- noTelemetry: ErrorNoTelemetry.isErrorNoTelemetry(error)
- };
- }
- return error;
- }
- function isCancellationError(error) {
- if (error instanceof CancellationError) {
- return true;
- }
- return error instanceof Error && error.name === canceledName && error.message === canceledName;
- }
- function canceled() {
- const error = new Error(canceledName);
- error.name = error.message;
- return error;
- }
- function illegalArgument(name) {
- if (name) {
- return new Error(`Illegal argument: ${name}`);
- } else {
- return new Error("Illegal argument");
- }
- }
- function illegalState(name) {
- if (name) {
- return new Error(`Illegal state: ${name}`);
- } else {
- return new Error("Illegal state");
- }
- }
- var ErrorHandler, errorHandler, canceledName, CancellationError, NotSupportedError, ErrorNoTelemetry, BugIndicatingError;
- var init_errors = __esm({
- "node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/base/common/errors.js"() {
- ErrorHandler = class {
- constructor() {
- this.listeners = [];
- this.unexpectedErrorHandler = function(e) {
- setTimeout(() => {
- if (e.stack) {
- if (ErrorNoTelemetry.isErrorNoTelemetry(e)) {
- throw new ErrorNoTelemetry(e.message + "\n\n" + e.stack);
- }
- throw new Error(e.message + "\n\n" + e.stack);
- }
- throw e;
- }, 0);
- };
- }
- emit(e) {
- this.listeners.forEach((listener) => {
- listener(e);
- });
- }
- onUnexpectedError(e) {
- this.unexpectedErrorHandler(e);
- this.emit(e);
- }
- // For external errors, we don't want the listeners to be called
- onUnexpectedExternalError(e) {
- this.unexpectedErrorHandler(e);
- }
- };
- errorHandler = new ErrorHandler();
- canceledName = "Canceled";
- CancellationError = class extends Error {
- constructor() {
- super(canceledName);
- this.name = this.message;
- }
- };
- NotSupportedError = class extends Error {
- constructor(message) {
- super("NotSupported");
- if (message) {
- this.message = message;
- }
- }
- };
- ErrorNoTelemetry = class _ErrorNoTelemetry extends Error {
- constructor(msg) {
- super(msg);
- this.name = "CodeExpectedError";
- }
- static fromError(err) {
- if (err instanceof _ErrorNoTelemetry) {
- return err;
- }
- const result = new _ErrorNoTelemetry();
- result.message = err.message;
- result.stack = err.stack;
- return result;
- }
- static isErrorNoTelemetry(err) {
- return err.name === "CodeExpectedError";
- }
- };
- BugIndicatingError = class _BugIndicatingError extends Error {
- constructor(message) {
- super(message || "An unexpected bug occurred.");
- Object.setPrototypeOf(this, _BugIndicatingError.prototype);
- debugger;
- }
- };
- }
- });
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/base/common/functional.js
- function once(fn) {
- const _this = this;
- let didCall = false;
- let result;
- return function() {
- if (didCall) {
- return result;
- }
- didCall = true;
- result = fn.apply(_this, arguments);
- return result;
- };
- }
- var init_functional = __esm({
- "node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/base/common/functional.js"() {
- }
- });
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/base/common/iterator.js
- var Iterable;
- var init_iterator = __esm({
- "node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/base/common/iterator.js"() {
- (function(Iterable2) {
- function is(thing) {
- return thing && typeof thing === "object" && typeof thing[Symbol.iterator] === "function";
- }
- Iterable2.is = is;
- const _empty2 = Object.freeze([]);
- function empty() {
- return _empty2;
- }
- Iterable2.empty = empty;
- function* single(element) {
- yield element;
- }
- Iterable2.single = single;
- function wrap(iterableOrElement) {
- if (is(iterableOrElement)) {
- return iterableOrElement;
- } else {
- return single(iterableOrElement);
- }
- }
- Iterable2.wrap = wrap;
- function from(iterable) {
- return iterable || _empty2;
- }
- Iterable2.from = from;
- function isEmpty(iterable) {
- return !iterable || iterable[Symbol.iterator]().next().done === true;
- }
- Iterable2.isEmpty = isEmpty;
- function first(iterable) {
- return iterable[Symbol.iterator]().next().value;
- }
- Iterable2.first = first;
- function some(iterable, predicate) {
- for (const element of iterable) {
- if (predicate(element)) {
- return true;
- }
- }
- return false;
- }
- Iterable2.some = some;
- function find(iterable, predicate) {
- for (const element of iterable) {
- if (predicate(element)) {
- return element;
- }
- }
- return void 0;
- }
- Iterable2.find = find;
- function* filter(iterable, predicate) {
- for (const element of iterable) {
- if (predicate(element)) {
- yield element;
- }
- }
- }
- Iterable2.filter = filter;
- function* map(iterable, fn) {
- let index = 0;
- for (const element of iterable) {
- yield fn(element, index++);
- }
- }
- Iterable2.map = map;
- function* concat(...iterables) {
- for (const iterable of iterables) {
- for (const element of iterable) {
- yield element;
- }
- }
- }
- Iterable2.concat = concat;
- function reduce(iterable, reducer, initialValue) {
- let value = initialValue;
- for (const element of iterable) {
- value = reducer(value, element);
- }
- return value;
- }
- Iterable2.reduce = reduce;
- function* slice(arr, from2, to = arr.length) {
- if (from2 < 0) {
- from2 += arr.length;
- }
- if (to < 0) {
- to += arr.length;
- } else if (to > arr.length) {
- to = arr.length;
- }
- for (; from2 < to; from2++) {
- yield arr[from2];
- }
- }
- Iterable2.slice = slice;
- function consume(iterable, atMost = Number.POSITIVE_INFINITY) {
- const consumed = [];
- if (atMost === 0) {
- return [consumed, iterable];
- }
- const iterator = iterable[Symbol.iterator]();
- for (let i = 0; i < atMost; i++) {
- const next = iterator.next();
- if (next.done) {
- return [consumed, Iterable2.empty()];
- }
- consumed.push(next.value);
- }
- return [consumed, { [Symbol.iterator]() {
- return iterator;
- } }];
- }
- Iterable2.consume = consume;
- })(Iterable || (Iterable = {}));
- }
- });
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/base/common/lifecycle.js
- function setDisposableTracker(tracker) {
- disposableTracker = tracker;
- }
- function trackDisposable(x) {
- disposableTracker === null || disposableTracker === void 0 ? void 0 : disposableTracker.trackDisposable(x);
- return x;
- }
- function markAsDisposed(disposable) {
- disposableTracker === null || disposableTracker === void 0 ? void 0 : disposableTracker.markAsDisposed(disposable);
- }
- function setParentOfDisposable(child, parent) {
- disposableTracker === null || disposableTracker === void 0 ? void 0 : disposableTracker.setParent(child, parent);
- }
- function setParentOfDisposables(children, parent) {
- if (!disposableTracker) {
- return;
- }
- for (const child of children) {
- disposableTracker.setParent(child, parent);
- }
- }
- function markAsSingleton(singleton) {
- disposableTracker === null || disposableTracker === void 0 ? void 0 : disposableTracker.markAsSingleton(singleton);
- return singleton;
- }
- function isDisposable(thing) {
- return typeof thing.dispose === "function" && thing.dispose.length === 0;
- }
- function dispose(arg) {
- if (Iterable.is(arg)) {
- const errors = [];
- for (const d of arg) {
- if (d) {
- try {
- d.dispose();
- } catch (e) {
- errors.push(e);
- }
- }
- }
- if (errors.length === 1) {
- throw errors[0];
- } else if (errors.length > 1) {
- throw new AggregateError(errors, "Encountered errors while disposing of store");
- }
- return Array.isArray(arg) ? [] : arg;
- } else if (arg) {
- arg.dispose();
- return arg;
- }
- }
- function combinedDisposable(...disposables) {
- const parent = toDisposable(() => dispose(disposables));
- setParentOfDisposables(disposables, parent);
- return parent;
- }
- function toDisposable(fn) {
- const self2 = trackDisposable({
- dispose: once(() => {
- markAsDisposed(self2);
- fn();
- })
- });
- return self2;
- }
- var TRACK_DISPOSABLES, disposableTracker, DisposableStore, Disposable, MutableDisposable, RefCountedDisposable, SafeDisposable, ImmortalReference, DisposableMap;
- var init_lifecycle = __esm({
- "node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/base/common/lifecycle.js"() {
- init_functional();
- init_iterator();
- TRACK_DISPOSABLES = false;
- disposableTracker = null;
- if (TRACK_DISPOSABLES) {
- const __is_disposable_tracked__ = "__is_disposable_tracked__";
- setDisposableTracker(new class {
- trackDisposable(x) {
- const stack = new Error("Potentially leaked disposable").stack;
- setTimeout(() => {
- if (!x[__is_disposable_tracked__]) {
- console.log(stack);
- }
- }, 3e3);
- }
- setParent(child, parent) {
- if (child && child !== Disposable.None) {
- try {
- child[__is_disposable_tracked__] = true;
- } catch (_a3) {
- }
- }
- }
- markAsDisposed(disposable) {
- if (disposable && disposable !== Disposable.None) {
- try {
- disposable[__is_disposable_tracked__] = true;
- } catch (_a3) {
- }
- }
- }
- markAsSingleton(disposable) {
- }
- }());
- }
- DisposableStore = class _DisposableStore {
- constructor() {
- this._toDispose = /* @__PURE__ */ new Set();
- this._isDisposed = false;
- trackDisposable(this);
- }
- /**
- * Dispose of all registered disposables and mark this object as disposed.
- *
- * Any future disposables added to this object will be disposed of on `add`.
- */
- dispose() {
- if (this._isDisposed) {
- return;
- }
- markAsDisposed(this);
- this._isDisposed = true;
- this.clear();
- }
- /**
- * @return `true` if this object has been disposed of.
- */
- get isDisposed() {
- return this._isDisposed;
- }
- /**
- * Dispose of all registered disposables but do not mark this object as disposed.
- */
- clear() {
- if (this._toDispose.size === 0) {
- return;
- }
- try {
- dispose(this._toDispose);
- } finally {
- this._toDispose.clear();
- }
- }
- /**
- * Add a new {@link IDisposable disposable} to the collection.
- */
- add(o) {
- if (!o) {
- return o;
- }
- if (o === this) {
- throw new Error("Cannot register a disposable on itself!");
- }
- setParentOfDisposable(o, this);
- if (this._isDisposed) {
- if (!_DisposableStore.DISABLE_DISPOSED_WARNING) {
- console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack);
- }
- } else {
- this._toDispose.add(o);
- }
- return o;
- }
- };
- DisposableStore.DISABLE_DISPOSED_WARNING = false;
- Disposable = class {
- constructor() {
- this._store = new DisposableStore();
- trackDisposable(this);
- setParentOfDisposable(this._store, this);
- }
- dispose() {
- markAsDisposed(this);
- this._store.dispose();
- }
- /**
- * Adds `o` to the collection of disposables managed by this object.
- */
- _register(o) {
- if (o === this) {
- throw new Error("Cannot register a disposable on itself!");
- }
- return this._store.add(o);
- }
- };
- Disposable.None = Object.freeze({ dispose() {
- } });
- MutableDisposable = class {
- constructor() {
- this._isDisposed = false;
- trackDisposable(this);
- }
- get value() {
- return this._isDisposed ? void 0 : this._value;
- }
- set value(value) {
- var _a3;
- if (this._isDisposed || value === this._value) {
- return;
- }
- (_a3 = this._value) === null || _a3 === void 0 ? void 0 : _a3.dispose();
- if (value) {
- setParentOfDisposable(value, this);
- }
- this._value = value;
- }
- /**
- * Resets the stored value and disposed of the previously stored value.
- */
- clear() {
- this.value = void 0;
- }
- dispose() {
- var _a3;
- this._isDisposed = true;
- markAsDisposed(this);
- (_a3 = this._value) === null || _a3 === void 0 ? void 0 : _a3.dispose();
- this._value = void 0;
- }
- };
- RefCountedDisposable = class {
- constructor(_disposable) {
- this._disposable = _disposable;
- this._counter = 1;
- }
- acquire() {
- this._counter++;
- return this;
- }
- release() {
- if (--this._counter === 0) {
- this._disposable.dispose();
- }
- return this;
- }
- };
- SafeDisposable = class {
- constructor() {
- this.dispose = () => {
- };
- this.unset = () => {
- };
- this.isset = () => false;
- trackDisposable(this);
- }
- set(fn) {
- let callback = fn;
- this.unset = () => callback = void 0;
- this.isset = () => callback !== void 0;
- this.dispose = () => {
- if (callback) {
- callback();
- callback = void 0;
- markAsDisposed(this);
- }
- };
- return this;
- }
- };
- ImmortalReference = class {
- constructor(object) {
- this.object = object;
- }
- dispose() {
- }
- };
- DisposableMap = class {
- constructor() {
- this._store = /* @__PURE__ */ new Map();
- this._isDisposed = false;
- trackDisposable(this);
- }
- /**
- * Disposes of all stored values and mark this object as disposed.
- *
- * Trying to use this object after it has been disposed of is an error.
- */
- dispose() {
- markAsDisposed(this);
- this._isDisposed = true;
- this.clearAndDisposeAll();
- }
- /**
- * Disposes of all stored values and clear the map, but DO NOT mark this object as disposed.
- */
- clearAndDisposeAll() {
- if (!this._store.size) {
- return;
- }
- try {
- dispose(this._store.values());
- } finally {
- this._store.clear();
- }
- }
- get(key) {
- return this._store.get(key);
- }
- set(key, value, skipDisposeOnOverwrite = false) {
- var _a3;
- if (this._isDisposed) {
- console.warn(new Error("Trying to add a disposable to a DisposableMap that has already been disposed of. The added object will be leaked!").stack);
- }
- if (!skipDisposeOnOverwrite) {
- (_a3 = this._store.get(key)) === null || _a3 === void 0 ? void 0 : _a3.dispose();
- }
- this._store.set(key, value);
- }
- /**
- * Delete the value stored for `key` from this map and also dispose of it.
- */
- deleteAndDispose(key) {
- var _a3;
- (_a3 = this._store.get(key)) === null || _a3 === void 0 ? void 0 : _a3.dispose();
- this._store.delete(key);
- }
- [Symbol.iterator]() {
- return this._store[Symbol.iterator]();
- }
- };
- }
- });
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/base/common/linkedList.js
- var Node, LinkedList;
- var init_linkedList = __esm({
- "node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/base/common/linkedList.js"() {
- Node = class _Node {
- constructor(element) {
- this.element = element;
- this.next = _Node.Undefined;
- this.prev = _Node.Undefined;
- }
- };
- Node.Undefined = new Node(void 0);
- LinkedList = class {
- constructor() {
- this._first = Node.Undefined;
- this._last = Node.Undefined;
- this._size = 0;
- }
- get size() {
- return this._size;
- }
- isEmpty() {
- return this._first === Node.Undefined;
- }
- clear() {
- let node = this._first;
- while (node !== Node.Undefined) {
- const next = node.next;
- node.prev = Node.Undefined;
- node.next = Node.Undefined;
- node = next;
- }
- this._first = Node.Undefined;
- this._last = Node.Undefined;
- this._size = 0;
- }
- unshift(element) {
- return this._insert(element, false);
- }
- push(element) {
- return this._insert(element, true);
- }
- _insert(element, atTheEnd) {
- const newNode = new Node(element);
- if (this._first === Node.Undefined) {
- this._first = newNode;
- this._last = newNode;
- } else if (atTheEnd) {
- const oldLast = this._last;
- this._last = newNode;
- newNode.prev = oldLast;
- oldLast.next = newNode;
- } else {
- const oldFirst = this._first;
- this._first = newNode;
- newNode.next = oldFirst;
- oldFirst.prev = newNode;
- }
- this._size += 1;
- let didRemove = false;
- return () => {
- if (!didRemove) {
- didRemove = true;
- this._remove(newNode);
- }
- };
- }
- shift() {
- if (this._first === Node.Undefined) {
- return void 0;
- } else {
- const res = this._first.element;
- this._remove(this._first);
- return res;
- }
- }
- pop() {
- if (this._last === Node.Undefined) {
- return void 0;
- } else {
- const res = this._last.element;
- this._remove(this._last);
- return res;
- }
- }
- _remove(node) {
- if (node.prev !== Node.Undefined && node.next !== Node.Undefined) {
- const anchor = node.prev;
- anchor.next = node.next;
- node.next.prev = anchor;
- } else if (node.prev === Node.Undefined && node.next === Node.Undefined) {
- this._first = Node.Undefined;
- this._last = Node.Undefined;
- } else if (node.next === Node.Undefined) {
- this._last = this._last.prev;
- this._last.next = Node.Undefined;
- } else if (node.prev === Node.Undefined) {
- this._first = this._first.next;
- this._first.prev = Node.Undefined;
- }
- this._size -= 1;
- }
- *[Symbol.iterator]() {
- let node = this._first;
- while (node !== Node.Undefined) {
- yield node.element;
- node = node.next;
- }
- }
- };
- }
- });
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/nls.js
- function _format(message, args) {
- let result;
- if (args.length === 0) {
- result = message;
- } else {
- result = message.replace(/\{(\d+)\}/g, (match, rest) => {
- const index = rest[0];
- const arg = args[index];
- let result2 = match;
- if (typeof arg === "string") {
- result2 = arg;
- } else if (typeof arg === "number" || typeof arg === "boolean" || arg === void 0 || arg === null) {
- result2 = String(arg);
- }
- return result2;
- });
- }
- if (isPseudo) {
- result = "[" + result.replace(/[aouei]/g, "$&$&") + "]";
- }
- return result;
- }
- function localize(data, message, ...args) {
- return _format(message, args);
- }
- function getConfiguredDefaultLocale(_) {
- return void 0;
- }
- var isPseudo;
- var init_nls = __esm({
- "node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/nls.js"() {
- isPseudo = typeof document !== "undefined" && document.location && document.location.hash.indexOf("pseudo=true") >= 0;
- }
- });
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/base/common/platform.js
- function isLittleEndian() {
- if (!_isLittleEndianComputed) {
- _isLittleEndianComputed = true;
- const test = new Uint8Array(2);
- test[0] = 1;
- test[1] = 2;
- const view = new Uint16Array(test.buffer);
- _isLittleEndian = view[0] === (2 << 8) + 1;
- }
- return _isLittleEndian;
- }
- var _a, LANGUAGE_DEFAULT, _isWindows, _isMacintosh, _isLinux, _isLinuxSnap, _isNative, _isWeb, _isElectron, _isIOS, _isCI, _isMobile, _locale, _language, _platformLocale, _translationsConfigFile, _userAgent, globals, nodeProcess, isElectronProcess, isElectronRenderer, _platform, isWindows, isMacintosh, isLinux, isNative, isWeb, isWebWorker, isIOS, isMobile, userAgent, language, setTimeout0IsFaster, setTimeout0, OS, _isLittleEndian, _isLittleEndianComputed, isChrome, isFirefox, isSafari, isEdge, isAndroid;
- var init_platform = __esm({
- "node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/base/common/platform.js"() {
- init_nls();
- LANGUAGE_DEFAULT = "en";
- _isWindows = false;
- _isMacintosh = false;
- _isLinux = false;
- _isLinuxSnap = false;
- _isNative = false;
- _isWeb = false;
- _isElectron = false;
- _isIOS = false;
- _isCI = false;
- _isMobile = false;
- _locale = void 0;
- _language = LANGUAGE_DEFAULT;
- _platformLocale = LANGUAGE_DEFAULT;
- _translationsConfigFile = void 0;
- _userAgent = void 0;
- globals = typeof self === "object" ? self : typeof global === "object" ? global : {};
- nodeProcess = void 0;
- if (typeof globals.vscode !== "undefined" && typeof globals.vscode.process !== "undefined") {
- nodeProcess = globals.vscode.process;
- } else if (typeof process !== "undefined") {
- nodeProcess = process;
- }
- isElectronProcess = typeof ((_a = nodeProcess === null || nodeProcess === void 0 ? void 0 : nodeProcess.versions) === null || _a === void 0 ? void 0 : _a.electron) === "string";
- isElectronRenderer = isElectronProcess && (nodeProcess === null || nodeProcess === void 0 ? void 0 : nodeProcess.type) === "renderer";
- if (typeof navigator === "object" && !isElectronRenderer) {
- _userAgent = navigator.userAgent;
- _isWindows = _userAgent.indexOf("Windows") >= 0;
- _isMacintosh = _userAgent.indexOf("Macintosh") >= 0;
- _isIOS = (_userAgent.indexOf("Macintosh") >= 0 || _userAgent.indexOf("iPad") >= 0 || _userAgent.indexOf("iPhone") >= 0) && !!navigator.maxTouchPoints && navigator.maxTouchPoints > 0;
- _isLinux = _userAgent.indexOf("Linux") >= 0;
- _isMobile = (_userAgent === null || _userAgent === void 0 ? void 0 : _userAgent.indexOf("Mobi")) >= 0;
- _isWeb = true;
- const configuredLocale = getConfiguredDefaultLocale(
- // This call _must_ be done in the file that calls `nls.getConfiguredDefaultLocale`
- // to ensure that the NLS AMD Loader plugin has been loaded and configured.
- // This is because the loader plugin decides what the default locale is based on
- // how it's able to resolve the strings.
- localize({ key: "ensureLoaderPluginIsLoaded", comment: ["{Locked}"] }, "_")
- );
- _locale = configuredLocale || LANGUAGE_DEFAULT;
- _language = _locale;
- _platformLocale = navigator.language;
- } else if (typeof nodeProcess === "object") {
- _isWindows = nodeProcess.platform === "win32";
- _isMacintosh = nodeProcess.platform === "darwin";
- _isLinux = nodeProcess.platform === "linux";
- _isLinuxSnap = _isLinux && !!nodeProcess.env["SNAP"] && !!nodeProcess.env["SNAP_REVISION"];
- _isElectron = isElectronProcess;
- _isCI = !!nodeProcess.env["CI"] || !!nodeProcess.env["BUILD_ARTIFACTSTAGINGDIRECTORY"];
- _locale = LANGUAGE_DEFAULT;
- _language = LANGUAGE_DEFAULT;
- const rawNlsConfig = nodeProcess.env["VSCODE_NLS_CONFIG"];
- if (rawNlsConfig) {
- try {
- const nlsConfig = JSON.parse(rawNlsConfig);
- const resolved = nlsConfig.availableLanguages["*"];
- _locale = nlsConfig.locale;
- _platformLocale = nlsConfig.osLocale;
- _language = resolved ? resolved : LANGUAGE_DEFAULT;
- _translationsConfigFile = nlsConfig._translationsConfigFile;
- } catch (e) {
- }
- }
- _isNative = true;
- } else {
- console.error("Unable to resolve platform.");
- }
- _platform = 0;
- if (_isMacintosh) {
- _platform = 1;
- } else if (_isWindows) {
- _platform = 3;
- } else if (_isLinux) {
- _platform = 2;
- }
- isWindows = _isWindows;
- isMacintosh = _isMacintosh;
- isLinux = _isLinux;
- isNative = _isNative;
- isWeb = _isWeb;
- isWebWorker = _isWeb && typeof globals.importScripts === "function";
- isIOS = _isIOS;
- isMobile = _isMobile;
- userAgent = _userAgent;
- language = _language;
- setTimeout0IsFaster = typeof globals.postMessage === "function" && !globals.importScripts;
- setTimeout0 = (() => {
- if (setTimeout0IsFaster) {
- const pending = [];
- globals.addEventListener("message", (e) => {
- if (e.data && e.data.vscodeScheduleAsyncWork) {
- for (let i = 0, len = pending.length; i < len; i++) {
- const candidate = pending[i];
- if (candidate.id === e.data.vscodeScheduleAsyncWork) {
- pending.splice(i, 1);
- candidate.callback();
- return;
- }
- }
- }
- });
- let lastId = 0;
- return (callback) => {
- const myId = ++lastId;
- pending.push({
- id: myId,
- callback
- });
- globals.postMessage({ vscodeScheduleAsyncWork: myId }, "*");
- };
- }
- return (callback) => setTimeout(callback);
- })();
- OS = _isMacintosh || _isIOS ? 2 : _isWindows ? 1 : 3;
- _isLittleEndian = true;
- _isLittleEndianComputed = false;
- isChrome = !!(userAgent && userAgent.indexOf("Chrome") >= 0);
- isFirefox = !!(userAgent && userAgent.indexOf("Firefox") >= 0);
- isSafari = !!(!isChrome && (userAgent && userAgent.indexOf("Safari") >= 0));
- isEdge = !!(userAgent && userAgent.indexOf("Edg/") >= 0);
- isAndroid = !!(userAgent && userAgent.indexOf("Android") >= 0);
- }
- });
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/base/common/stopwatch.js
- var hasPerformanceNow, StopWatch;
- var init_stopwatch = __esm({
- "node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/base/common/stopwatch.js"() {
- init_platform();
- hasPerformanceNow = globals.performance && typeof globals.performance.now === "function";
- StopWatch = class _StopWatch {
- static create(highResolution = true) {
- return new _StopWatch(highResolution);
- }
- constructor(highResolution) {
- this._highResolution = hasPerformanceNow && highResolution;
- this._startTime = this._now();
- this._stopTime = -1;
- }
- stop() {
- this._stopTime = this._now();
- }
- elapsed() {
- if (this._stopTime !== -1) {
- return this._stopTime - this._startTime;
- }
- return this._now() - this._startTime;
- }
- _now() {
- return this._highResolution ? globals.performance.now() : Date.now();
- }
- };
- }
- });
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/base/common/event.js
- var _enableDisposeWithListenerWarning, _enableSnapshotPotentialLeakWarning, Event, EventProfiling, _globalLeakWarningThreshold, LeakageMonitor, Stacktrace, Listener, Emitter, EventDeliveryQueue, PrivateEventDeliveryQueue, EventDeliveryQueueElement, PauseableEmitter, DebounceEmitter, MicrotaskEmitter, EventMultiplexer, EventBufferer, Relay;
- var init_event = __esm({
- "node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/base/common/event.js"() {
- init_errors();
- init_functional();
- init_lifecycle();
- init_linkedList();
- init_stopwatch();
- _enableDisposeWithListenerWarning = false;
- _enableSnapshotPotentialLeakWarning = false;
- (function(Event2) {
- Event2.None = () => Disposable.None;
- function _addLeakageTraceLogic(options) {
- if (_enableSnapshotPotentialLeakWarning) {
- const { onDidAddListener: origListenerDidAdd } = options;
- const stack = Stacktrace.create();
- let count = 0;
- options.onDidAddListener = () => {
- if (++count === 2) {
- console.warn("snapshotted emitter LIKELY used public and SHOULD HAVE BEEN created with DisposableStore. snapshotted here");
- stack.print();
- }
- origListenerDidAdd === null || origListenerDidAdd === void 0 ? void 0 : origListenerDidAdd();
- };
- }
- }
- function defer(event, disposable) {
- return debounce(event, () => void 0, 0, void 0, true, void 0, disposable);
- }
- Event2.defer = defer;
- function once3(event) {
- return (listener, thisArgs = null, disposables) => {
- let didFire = false;
- let result = void 0;
- result = event((e) => {
- if (didFire) {
- return;
- } else if (result) {
- result.dispose();
- } else {
- didFire = true;
- }
- return listener.call(thisArgs, e);
- }, null, disposables);
- if (didFire) {
- result.dispose();
- }
- return result;
- };
- }
- Event2.once = once3;
- function map(event, map2, disposable) {
- return snapshot((listener, thisArgs = null, disposables) => event((i) => listener.call(thisArgs, map2(i)), null, disposables), disposable);
- }
- Event2.map = map;
- function forEach(event, each, disposable) {
- return snapshot((listener, thisArgs = null, disposables) => event((i) => {
- each(i);
- listener.call(thisArgs, i);
- }, null, disposables), disposable);
- }
- Event2.forEach = forEach;
- function filter(event, filter2, disposable) {
- return snapshot((listener, thisArgs = null, disposables) => event((e) => filter2(e) && listener.call(thisArgs, e), null, disposables), disposable);
- }
- Event2.filter = filter;
- function signal(event) {
- return event;
- }
- Event2.signal = signal;
- function any(...events) {
- return (listener, thisArgs = null, disposables) => combinedDisposable(...events.map((event) => event((e) => listener.call(thisArgs, e), null, disposables)));
- }
- Event2.any = any;
- function reduce(event, merge, initial, disposable) {
- let output = initial;
- return map(event, (e) => {
- output = merge(output, e);
- return output;
- }, disposable);
- }
- Event2.reduce = reduce;
- function snapshot(event, disposable) {
- let listener;
- const options = {
- onWillAddFirstListener() {
- listener = event(emitter.fire, emitter);
- },
- onDidRemoveLastListener() {
- listener === null || listener === void 0 ? void 0 : listener.dispose();
- }
- };
- if (!disposable) {
- _addLeakageTraceLogic(options);
- }
- const emitter = new Emitter(options);
- disposable === null || disposable === void 0 ? void 0 : disposable.add(emitter);
- return emitter.event;
- }
- function debounce(event, merge, delay = 100, leading = false, flushOnListenerRemove = false, leakWarningThreshold, disposable) {
- let subscription;
- let output = void 0;
- let handle = void 0;
- let numDebouncedCalls = 0;
- let doFire;
- const options = {
- leakWarningThreshold,
- onWillAddFirstListener() {
- subscription = event((cur) => {
- numDebouncedCalls++;
- output = merge(output, cur);
- if (leading && !handle) {
- emitter.fire(output);
- output = void 0;
- }
- doFire = () => {
- const _output = output;
- output = void 0;
- handle = void 0;
- if (!leading || numDebouncedCalls > 1) {
- emitter.fire(_output);
- }
- numDebouncedCalls = 0;
- };
- if (typeof delay === "number") {
- clearTimeout(handle);
- handle = setTimeout(doFire, delay);
- } else {
- if (handle === void 0) {
- handle = 0;
- queueMicrotask(doFire);
- }
- }
- });
- },
- onWillRemoveListener() {
- if (flushOnListenerRemove && numDebouncedCalls > 0) {
- doFire === null || doFire === void 0 ? void 0 : doFire();
- }
- },
- onDidRemoveLastListener() {
- doFire = void 0;
- subscription.dispose();
- }
- };
- if (!disposable) {
- _addLeakageTraceLogic(options);
- }
- const emitter = new Emitter(options);
- disposable === null || disposable === void 0 ? void 0 : disposable.add(emitter);
- return emitter.event;
- }
- Event2.debounce = debounce;
- function accumulate(event, delay = 0, disposable) {
- return Event2.debounce(event, (last, e) => {
- if (!last) {
- return [e];
- }
- last.push(e);
- return last;
- }, delay, void 0, true, void 0, disposable);
- }
- Event2.accumulate = accumulate;
- function latch(event, equals3 = (a, b) => a === b, disposable) {
- let firstCall = true;
- let cache;
- return filter(event, (value) => {
- const shouldEmit = firstCall || !equals3(value, cache);
- firstCall = false;
- cache = value;
- return shouldEmit;
- }, disposable);
- }
- Event2.latch = latch;
- function split(event, isT, disposable) {
- return [
- Event2.filter(event, isT, disposable),
- Event2.filter(event, (e) => !isT(e), disposable)
- ];
- }
- Event2.split = split;
- function buffer(event, flushAfterTimeout = false, _buffer = []) {
- let buffer2 = _buffer.slice();
- let listener = event((e) => {
- if (buffer2) {
- buffer2.push(e);
- } else {
- emitter.fire(e);
- }
- });
- const flush = () => {
- buffer2 === null || buffer2 === void 0 ? void 0 : buffer2.forEach((e) => emitter.fire(e));
- buffer2 = null;
- };
- const emitter = new Emitter({
- onWillAddFirstListener() {
- if (!listener) {
- listener = event((e) => emitter.fire(e));
- }
- },
- onDidAddFirstListener() {
- if (buffer2) {
- if (flushAfterTimeout) {
- setTimeout(flush);
- } else {
- flush();
- }
- }
- },
- onDidRemoveLastListener() {
- if (listener) {
- listener.dispose();
- }
- listener = null;
- }
- });
- return emitter.event;
- }
- Event2.buffer = buffer;
- class ChainableEvent {
- constructor(event) {
- this.event = event;
- this.disposables = new DisposableStore();
- }
- /** @see {@link Event.map} */
- map(fn) {
- return new ChainableEvent(map(this.event, fn, this.disposables));
- }
- /** @see {@link Event.forEach} */
- forEach(fn) {
- return new ChainableEvent(forEach(this.event, fn, this.disposables));
- }
- filter(fn) {
- return new ChainableEvent(filter(this.event, fn, this.disposables));
- }
- /** @see {@link Event.reduce} */
- reduce(merge, initial) {
- return new ChainableEvent(reduce(this.event, merge, initial, this.disposables));
- }
- /** @see {@link Event.reduce} */
- latch() {
- return new ChainableEvent(latch(this.event, void 0, this.disposables));
- }
- debounce(merge, delay = 100, leading = false, flushOnListenerRemove = false, leakWarningThreshold) {
- return new ChainableEvent(debounce(this.event, merge, delay, leading, flushOnListenerRemove, leakWarningThreshold, this.disposables));
- }
- /**
- * Attach a listener to the event.
- */
- on(listener, thisArgs, disposables) {
- return this.event(listener, thisArgs, disposables);
- }
- /** @see {@link Event.once} */
- once(listener, thisArgs, disposables) {
- return once3(this.event)(listener, thisArgs, disposables);
- }
- dispose() {
- this.disposables.dispose();
- }
- }
- function chain(event) {
- return new ChainableEvent(event);
- }
- Event2.chain = chain;
- function fromNodeEventEmitter(emitter, eventName, map2 = (id) => id) {
- const fn = (...args) => result.fire(map2(...args));
- const onFirstListenerAdd = () => emitter.on(eventName, fn);
- const onLastListenerRemove = () => emitter.removeListener(eventName, fn);
- const result = new Emitter({ onWillAddFirstListener: onFirstListenerAdd, onDidRemoveLastListener: onLastListenerRemove });
- return result.event;
- }
- Event2.fromNodeEventEmitter = fromNodeEventEmitter;
- function fromDOMEventEmitter(emitter, eventName, map2 = (id) => id) {
- const fn = (...args) => result.fire(map2(...args));
- const onFirstListenerAdd = () => emitter.addEventListener(eventName, fn);
- const onLastListenerRemove = () => emitter.removeEventListener(eventName, fn);
- const result = new Emitter({ onWillAddFirstListener: onFirstListenerAdd, onDidRemoveLastListener: onLastListenerRemove });
- return result.event;
- }
- Event2.fromDOMEventEmitter = fromDOMEventEmitter;
- function toPromise(event) {
- return new Promise((resolve2) => once3(event)(resolve2));
- }
- Event2.toPromise = toPromise;
- function runAndSubscribe(event, handler) {
- handler(void 0);
- return event((e) => handler(e));
- }
- Event2.runAndSubscribe = runAndSubscribe;
- function runAndSubscribeWithStore(event, handler) {
- let store = null;
- function run(e) {
- store === null || store === void 0 ? void 0 : store.dispose();
- store = new DisposableStore();
- handler(e, store);
- }
- run(void 0);
- const disposable = event((e) => run(e));
- return toDisposable(() => {
- disposable.dispose();
- store === null || store === void 0 ? void 0 : store.dispose();
- });
- }
- Event2.runAndSubscribeWithStore = runAndSubscribeWithStore;
- class EmitterObserver {
- constructor(_observable, store) {
- this._observable = _observable;
- this._counter = 0;
- this._hasChanged = false;
- const options = {
- onWillAddFirstListener: () => {
- _observable.addObserver(this);
- },
- onDidRemoveLastListener: () => {
- _observable.removeObserver(this);
- }
- };
- if (!store) {
- _addLeakageTraceLogic(options);
- }
- this.emitter = new Emitter(options);
- if (store) {
- store.add(this.emitter);
- }
- }
- beginUpdate(_observable) {
- this._counter++;
- }
- handlePossibleChange(_observable) {
- }
- handleChange(_observable, _change) {
- this._hasChanged = true;
- }
- endUpdate(_observable) {
- this._counter--;
- if (this._counter === 0) {
- this._observable.reportChanges();
- if (this._hasChanged) {
- this._hasChanged = false;
- this.emitter.fire(this._observable.get());
- }
- }
- }
- }
- function fromObservable(obs, store) {
- const observer = new EmitterObserver(obs, store);
- return observer.emitter.event;
- }
- Event2.fromObservable = fromObservable;
- function fromObservableLight(observable) {
- return (listener) => {
- let count = 0;
- let didChange = false;
- const observer = {
- beginUpdate() {
- count++;
- },
- endUpdate() {
- count--;
- if (count === 0) {
- observable.reportChanges();
- if (didChange) {
- didChange = false;
- listener();
- }
- }
- },
- handlePossibleChange() {
- },
- handleChange() {
- didChange = true;
- }
- };
- observable.addObserver(observer);
- return {
- dispose() {
- observable.removeObserver(observer);
- }
- };
- };
- }
- Event2.fromObservableLight = fromObservableLight;
- })(Event || (Event = {}));
- EventProfiling = class _EventProfiling {
- constructor(name) {
- this.listenerCount = 0;
- this.invocationCount = 0;
- this.elapsedOverall = 0;
- this.durations = [];
- this.name = `${name}_${_EventProfiling._idPool++}`;
- _EventProfiling.all.add(this);
- }
- start(listenerCount) {
- this._stopWatch = new StopWatch(true);
- this.listenerCount = listenerCount;
- }
- stop() {
- if (this._stopWatch) {
- const elapsed = this._stopWatch.elapsed();
- this.durations.push(elapsed);
- this.elapsedOverall += elapsed;
- this.invocationCount += 1;
- this._stopWatch = void 0;
- }
- }
- };
- EventProfiling.all = /* @__PURE__ */ new Set();
- EventProfiling._idPool = 0;
- _globalLeakWarningThreshold = -1;
- LeakageMonitor = class {
- constructor(threshold, name = Math.random().toString(18).slice(2, 5)) {
- this.threshold = threshold;
- this.name = name;
- this._warnCountdown = 0;
- }
- dispose() {
- var _a3;
- (_a3 = this._stacks) === null || _a3 === void 0 ? void 0 : _a3.clear();
- }
- check(stack, listenerCount) {
- const threshold = this.threshold;
- if (threshold <= 0 || listenerCount < threshold) {
- return void 0;
- }
- if (!this._stacks) {
- this._stacks = /* @__PURE__ */ new Map();
- }
- const count = this._stacks.get(stack.value) || 0;
- this._stacks.set(stack.value, count + 1);
- this._warnCountdown -= 1;
- if (this._warnCountdown <= 0) {
- this._warnCountdown = threshold * 0.5;
- let topStack;
- let topCount = 0;
- for (const [stack2, count2] of this._stacks) {
- if (!topStack || topCount < count2) {
- topStack = stack2;
- topCount = count2;
- }
- }
- console.warn(`[${this.name}] potential listener LEAK detected, having ${listenerCount} listeners already. MOST frequent listener (${topCount}):`);
- console.warn(topStack);
- }
- return () => {
- const count2 = this._stacks.get(stack.value) || 0;
- this._stacks.set(stack.value, count2 - 1);
- };
- }
- };
- Stacktrace = class _Stacktrace {
- static create() {
- var _a3;
- return new _Stacktrace((_a3 = new Error().stack) !== null && _a3 !== void 0 ? _a3 : "");
- }
- constructor(value) {
- this.value = value;
- }
- print() {
- console.warn(this.value.split("\n").slice(2).join("\n"));
- }
- };
- Listener = class {
- constructor(callback, callbackThis, stack) {
- this.callback = callback;
- this.callbackThis = callbackThis;
- this.stack = stack;
- this.subscription = new SafeDisposable();
- }
- invoke(e) {
- this.callback.call(this.callbackThis, e);
- }
- };
- Emitter = class {
- constructor(options) {
- var _a3, _b, _c, _d, _e;
- this._disposed = false;
- this._options = options;
- this._leakageMon = _globalLeakWarningThreshold > 0 || ((_a3 = this._options) === null || _a3 === void 0 ? void 0 : _a3.leakWarningThreshold) ? new LeakageMonitor((_c = (_b = this._options) === null || _b === void 0 ? void 0 : _b.leakWarningThreshold) !== null && _c !== void 0 ? _c : _globalLeakWarningThreshold) : void 0;
- this._perfMon = ((_d = this._options) === null || _d === void 0 ? void 0 : _d._profName) ? new EventProfiling(this._options._profName) : void 0;
- this._deliveryQueue = (_e = this._options) === null || _e === void 0 ? void 0 : _e.deliveryQueue;
- }
- dispose() {
- var _a3, _b, _c, _d;
- if (!this._disposed) {
- this._disposed = true;
- if (this._listeners) {
- if (_enableDisposeWithListenerWarning) {
- const listeners = Array.from(this._listeners);
- queueMicrotask(() => {
- var _a4;
- for (const listener of listeners) {
- if (listener.subscription.isset()) {
- listener.subscription.unset();
- (_a4 = listener.stack) === null || _a4 === void 0 ? void 0 : _a4.print();
- }
- }
- });
- }
- this._listeners.clear();
- }
- (_a3 = this._deliveryQueue) === null || _a3 === void 0 ? void 0 : _a3.clear(this);
- (_c = (_b = this._options) === null || _b === void 0 ? void 0 : _b.onDidRemoveLastListener) === null || _c === void 0 ? void 0 : _c.call(_b);
- (_d = this._leakageMon) === null || _d === void 0 ? void 0 : _d.dispose();
- }
- }
- /**
- * For the public to allow to subscribe
- * to events from this Emitter
- */
- get event() {
- if (!this._event) {
- this._event = (callback, thisArgs, disposables) => {
- var _a3, _b, _c;
- if (!this._listeners) {
- this._listeners = new LinkedList();
- }
- if (this._leakageMon && this._listeners.size > this._leakageMon.threshold * 3) {
- console.warn(`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far`);
- return Disposable.None;
- }
- const firstListener = this._listeners.isEmpty();
- if (firstListener && ((_a3 = this._options) === null || _a3 === void 0 ? void 0 : _a3.onWillAddFirstListener)) {
- this._options.onWillAddFirstListener(this);
- }
- let removeMonitor;
- let stack;
- if (this._leakageMon && this._listeners.size >= Math.ceil(this._leakageMon.threshold * 0.2)) {
- stack = Stacktrace.create();
- removeMonitor = this._leakageMon.check(stack, this._listeners.size + 1);
- }
- if (_enableDisposeWithListenerWarning) {
- stack = stack !== null && stack !== void 0 ? stack : Stacktrace.create();
- }
- const listener = new Listener(callback, thisArgs, stack);
- const removeListener = this._listeners.push(listener);
- if (firstListener && ((_b = this._options) === null || _b === void 0 ? void 0 : _b.onDidAddFirstListener)) {
- this._options.onDidAddFirstListener(this);
- }
- if ((_c = this._options) === null || _c === void 0 ? void 0 : _c.onDidAddListener) {
- this._options.onDidAddListener(this, callback, thisArgs);
- }
- const result = listener.subscription.set(() => {
- var _a4, _b2;
- removeMonitor === null || removeMonitor === void 0 ? void 0 : removeMonitor();
- if (!this._disposed) {
- (_b2 = (_a4 = this._options) === null || _a4 === void 0 ? void 0 : _a4.onWillRemoveListener) === null || _b2 === void 0 ? void 0 : _b2.call(_a4, this);
- removeListener();
- if (this._options && this._options.onDidRemoveLastListener) {
- const hasListeners = this._listeners && !this._listeners.isEmpty();
- if (!hasListeners) {
- this._options.onDidRemoveLastListener(this);
- }
- }
- }
- });
- if (disposables instanceof DisposableStore) {
- disposables.add(result);
- } else if (Array.isArray(disposables)) {
- disposables.push(result);
- }
- return result;
- };
- }
- return this._event;
- }
- /**
- * To be kept private to fire an event to
- * subscribers
- */
- fire(event) {
- var _a3, _b, _c;
- if (this._listeners) {
- if (!this._deliveryQueue) {
- this._deliveryQueue = new PrivateEventDeliveryQueue((_a3 = this._options) === null || _a3 === void 0 ? void 0 : _a3.onListenerError);
- }
- for (const listener of this._listeners) {
- this._deliveryQueue.push(this, listener, event);
- }
- (_b = this._perfMon) === null || _b === void 0 ? void 0 : _b.start(this._deliveryQueue.size);
- this._deliveryQueue.deliver();
- (_c = this._perfMon) === null || _c === void 0 ? void 0 : _c.stop();
- }
- }
- hasListeners() {
- if (!this._listeners) {
- return false;
- }
- return !this._listeners.isEmpty();
- }
- };
- EventDeliveryQueue = class {
- constructor(_onListenerError = onUnexpectedError) {
- this._onListenerError = _onListenerError;
- this._queue = new LinkedList();
- }
- get size() {
- return this._queue.size;
- }
- push(emitter, listener, event) {
- this._queue.push(new EventDeliveryQueueElement(emitter, listener, event));
- }
- clear(emitter) {
- const newQueue = new LinkedList();
- for (const element of this._queue) {
- if (element.emitter !== emitter) {
- newQueue.push(element);
- }
- }
- this._queue = newQueue;
- }
- deliver() {
- while (this._queue.size > 0) {
- const element = this._queue.shift();
- try {
- element.listener.invoke(element.event);
- } catch (e) {
- this._onListenerError(e);
- }
- }
- }
- };
- PrivateEventDeliveryQueue = class extends EventDeliveryQueue {
- clear(emitter) {
- this._queue.clear();
- }
- };
- EventDeliveryQueueElement = class {
- constructor(emitter, listener, event) {
- this.emitter = emitter;
- this.listener = listener;
- this.event = event;
- }
- };
- PauseableEmitter = class extends Emitter {
- constructor(options) {
- super(options);
- this._isPaused = 0;
- this._eventQueue = new LinkedList();
- this._mergeFn = options === null || options === void 0 ? void 0 : options.merge;
- }
- pause() {
- this._isPaused++;
- }
- resume() {
- if (this._isPaused !== 0 && --this._isPaused === 0) {
- if (this._mergeFn) {
- if (this._eventQueue.size > 0) {
- const events = Array.from(this._eventQueue);
- this._eventQueue.clear();
- super.fire(this._mergeFn(events));
- }
- } else {
- while (!this._isPaused && this._eventQueue.size !== 0) {
- super.fire(this._eventQueue.shift());
- }
- }
- }
- }
- fire(event) {
- if (this._listeners) {
- if (this._isPaused !== 0) {
- this._eventQueue.push(event);
- } else {
- super.fire(event);
- }
- }
- }
- };
- DebounceEmitter = class extends PauseableEmitter {
- constructor(options) {
- var _a3;
- super(options);
- this._delay = (_a3 = options.delay) !== null && _a3 !== void 0 ? _a3 : 100;
- }
- fire(event) {
- if (!this._handle) {
- this.pause();
- this._handle = setTimeout(() => {
- this._handle = void 0;
- this.resume();
- }, this._delay);
- }
- super.fire(event);
- }
- };
- MicrotaskEmitter = class extends Emitter {
- constructor(options) {
- super(options);
- this._queuedEvents = [];
- this._mergeFn = options === null || options === void 0 ? void 0 : options.merge;
- }
- fire(event) {
- if (!this.hasListeners()) {
- return;
- }
- this._queuedEvents.push(event);
- if (this._queuedEvents.length === 1) {
- queueMicrotask(() => {
- if (this._mergeFn) {
- super.fire(this._mergeFn(this._queuedEvents));
- } else {
- this._queuedEvents.forEach((e) => super.fire(e));
- }
- this._queuedEvents = [];
- });
- }
- }
- };
- EventMultiplexer = class {
- constructor() {
- this.hasListeners = false;
- this.events = [];
- this.emitter = new Emitter({
- onWillAddFirstListener: () => this.onFirstListenerAdd(),
- onDidRemoveLastListener: () => this.onLastListenerRemove()
- });
- }
- get event() {
- return this.emitter.event;
- }
- add(event) {
- const e = { event, listener: null };
- this.events.push(e);
- if (this.hasListeners) {
- this.hook(e);
- }
- const dispose2 = () => {
- if (this.hasListeners) {
- this.unhook(e);
- }
- const idx = this.events.indexOf(e);
- this.events.splice(idx, 1);
- };
- return toDisposable(once(dispose2));
- }
- onFirstListenerAdd() {
- this.hasListeners = true;
- this.events.forEach((e) => this.hook(e));
- }
- onLastListenerRemove() {
- this.hasListeners = false;
- this.events.forEach((e) => this.unhook(e));
- }
- hook(e) {
- e.listener = e.event((r) => this.emitter.fire(r));
- }
- unhook(e) {
- if (e.listener) {
- e.listener.dispose();
- }
- e.listener = null;
- }
- dispose() {
- this.emitter.dispose();
- }
- };
- EventBufferer = class {
- constructor() {
- this.buffers = [];
- }
- wrapEvent(event) {
- return (listener, thisArgs, disposables) => {
- return event((i) => {
- const buffer = this.buffers[this.buffers.length - 1];
- if (buffer) {
- buffer.push(() => listener.call(thisArgs, i));
- } else {
- listener.call(thisArgs, i);
- }
- }, void 0, disposables);
- };
- }
- bufferEvents(fn) {
- const buffer = [];
- this.buffers.push(buffer);
- const r = fn();
- this.buffers.pop();
- buffer.forEach((flush) => flush());
- return r;
- }
- };
- Relay = class {
- constructor() {
- this.listening = false;
- this.inputEvent = Event.None;
- this.inputEventListener = Disposable.None;
- this.emitter = new Emitter({
- onDidAddFirstListener: () => {
- this.listening = true;
- this.inputEventListener = this.inputEvent(this.emitter.fire, this.emitter);
- },
- onDidRemoveLastListener: () => {
- this.listening = false;
- this.inputEventListener.dispose();
- }
- });
- this.event = this.emitter.event;
- }
- set input(event) {
- this.inputEvent = event;
- if (this.listening) {
- this.inputEventListener.dispose();
- this.inputEventListener = event(this.emitter.fire, this.emitter);
- }
- }
- dispose() {
- this.inputEventListener.dispose();
- this.emitter.dispose();
- }
- };
- }
- });
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/base/common/types.js
- function isString(str) {
- return typeof str === "string";
- }
- function isObject(obj) {
- return typeof obj === "object" && obj !== null && !Array.isArray(obj) && !(obj instanceof RegExp) && !(obj instanceof Date);
- }
- function isTypedArray(obj) {
- const TypedArray = Object.getPrototypeOf(Uint8Array);
- return typeof obj === "object" && obj instanceof TypedArray;
- }
- function isNumber(obj) {
- return typeof obj === "number" && !isNaN(obj);
- }
- function isIterable(obj) {
- return !!obj && typeof obj[Symbol.iterator] === "function";
- }
- function isBoolean(obj) {
- return obj === true || obj === false;
- }
- function isUndefined(obj) {
- return typeof obj === "undefined";
- }
- function isDefined(arg) {
- return !isUndefinedOrNull(arg);
- }
- function isUndefinedOrNull(obj) {
- return isUndefined(obj) || obj === null;
- }
- function assertType(condition, type) {
- if (!condition) {
- throw new Error(type ? `Unexpected type, expected '${type}'` : "Unexpected type");
- }
- }
- function assertIsDefined(arg) {
- if (isUndefinedOrNull(arg)) {
- throw new Error("Assertion Failed: argument is undefined or null");
- }
- return arg;
- }
- function isFunction(obj) {
- return typeof obj === "function";
- }
- function validateConstraints(args, constraints) {
- const len = Math.min(args.length, constraints.length);
- for (let i = 0; i < len; i++) {
- validateConstraint(args[i], constraints[i]);
- }
- }
- function validateConstraint(arg, constraint) {
- if (isString(constraint)) {
- if (typeof arg !== constraint) {
- throw new Error(`argument does not match constraint: typeof ${constraint}`);
- }
- } else if (isFunction(constraint)) {
- try {
- if (arg instanceof constraint) {
- return;
- }
- } catch (_a3) {
- }
- if (!isUndefinedOrNull(arg) && arg.constructor === constraint) {
- return;
- }
- if (constraint.length === 1 && constraint.call(void 0, arg) === true) {
- return;
- }
- throw new Error(`argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true`);
- }
- }
- function withNullAsUndefined(x) {
- return x === null ? void 0 : x;
- }
- function withUndefinedAsNull(x) {
- return typeof x === "undefined" ? null : x;
- }
- var init_types = __esm({
- "node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/base/common/types.js"() {
- }
- });
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/base/common/objects.js
- function deepClone(obj) {
- if (!obj || typeof obj !== "object") {
- return obj;
- }
- if (obj instanceof RegExp) {
- return obj;
- }
- const result = Array.isArray(obj) ? [] : {};
- Object.entries(obj).forEach(([key, value]) => {
- result[key] = value && typeof value === "object" ? deepClone(value) : value;
- });
- return result;
- }
- function deepFreeze(obj) {
- if (!obj || typeof obj !== "object") {
- return obj;
- }
- const stack = [obj];
- while (stack.length > 0) {
- const obj2 = stack.shift();
- Object.freeze(obj2);
- for (const key in obj2) {
- if (_hasOwnProperty.call(obj2, key)) {
- const prop = obj2[key];
- if (typeof prop === "object" && !Object.isFrozen(prop) && !isTypedArray(prop)) {
- stack.push(prop);
- }
- }
- }
- }
- return obj;
- }
- function cloneAndChange(obj, changer) {
- return _cloneAndChange(obj, changer, /* @__PURE__ */ new Set());
- }
- function _cloneAndChange(obj, changer, seen) {
- if (isUndefinedOrNull(obj)) {
- return obj;
- }
- const changed = changer(obj);
- if (typeof changed !== "undefined") {
- return changed;
- }
- if (Array.isArray(obj)) {
- const r1 = [];
- for (const e of obj) {
- r1.push(_cloneAndChange(e, changer, seen));
- }
- return r1;
- }
- if (isObject(obj)) {
- if (seen.has(obj)) {
- throw new Error("Cannot clone recursive data-structure");
- }
- seen.add(obj);
- const r2 = {};
- for (const i2 in obj) {
- if (_hasOwnProperty.call(obj, i2)) {
- r2[i2] = _cloneAndChange(obj[i2], changer, seen);
- }
- }
- seen.delete(obj);
- return r2;
- }
- return obj;
- }
- function mixin(destination, source, overwrite = true) {
- if (!isObject(destination)) {
- return source;
- }
- if (isObject(source)) {
- Object.keys(source).forEach((key) => {
- if (key in destination) {
- if (overwrite) {
- if (isObject(destination[key]) && isObject(source[key])) {
- mixin(destination[key], source[key], overwrite);
- } else {
- destination[key] = source[key];
- }
- }
- } else {
- destination[key] = source[key];
- }
- });
- }
- return destination;
- }
- function equals(one, other) {
- if (one === other) {
- return true;
- }
- if (one === null || one === void 0 || other === null || other === void 0) {
- return false;
- }
- if (typeof one !== typeof other) {
- return false;
- }
- if (typeof one !== "object") {
- return false;
- }
- if (Array.isArray(one) !== Array.isArray(other)) {
- return false;
- }
- let i;
- let key;
- if (Array.isArray(one)) {
- if (one.length !== other.length) {
- return false;
- }
- for (i = 0; i < one.length; i++) {
- if (!equals(one[i], other[i])) {
- return false;
- }
- }
- } else {
- const oneKeys = [];
- for (key in one) {
- oneKeys.push(key);
- }
- oneKeys.sort();
- const otherKeys = [];
- for (key in other) {
- otherKeys.push(key);
- }
- otherKeys.sort();
- if (!equals(oneKeys, otherKeys)) {
- return false;
- }
- for (i = 0; i < oneKeys.length; i++) {
- if (!equals(one[oneKeys[i]], other[oneKeys[i]])) {
- return false;
- }
- }
- }
- return true;
- }
- function getAllPropertyNames(obj) {
- let res = [];
- let proto = Object.getPrototypeOf(obj);
- while (Object.prototype !== proto) {
- res = res.concat(Object.getOwnPropertyNames(proto));
- proto = Object.getPrototypeOf(proto);
- }
- return res;
- }
- function getAllMethodNames(obj) {
- const methods = [];
- for (const prop of getAllPropertyNames(obj)) {
- if (typeof obj[prop] === "function") {
- methods.push(prop);
- }
- }
- return methods;
- }
- function createProxyObject(methodNames, invoke) {
- const createProxyMethod = (method) => {
- return function() {
- const args = Array.prototype.slice.call(arguments, 0);
- return invoke(method, args);
- };
- };
- const result = {};
- for (const methodName of methodNames) {
- result[methodName] = createProxyMethod(methodName);
- }
- return result;
- }
- var _hasOwnProperty;
- var init_objects = __esm({
- "node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/base/common/objects.js"() {
- init_types();
- _hasOwnProperty = Object.prototype.hasOwnProperty;
- }
- });
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/base/common/cache.js
- var LRUCachedFunction, CachedFunction;
- var init_cache = __esm({
- "node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/base/common/cache.js"() {
- LRUCachedFunction = class {
- constructor(fn) {
- this.fn = fn;
- this.lastCache = void 0;
- this.lastArgKey = void 0;
- }
- get(arg) {
- const key = JSON.stringify(arg);
- if (this.lastArgKey !== key) {
- this.lastArgKey = key;
- this.lastCache = this.fn(arg);
- }
- return this.lastCache;
- }
- };
- CachedFunction = class {
- get cachedValues() {
- return this._map;
- }
- constructor(fn) {
- this.fn = fn;
- this._map = /* @__PURE__ */ new Map();
- }
- get(arg) {
- if (this._map.has(arg)) {
- return this._map.get(arg);
- }
- const value = this.fn(arg);
- this._map.set(arg, value);
- return value;
- }
- };
- }
- });
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/base/common/lazy.js
- var Lazy;
- var init_lazy = __esm({
- "node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/base/common/lazy.js"() {
- Lazy = class {
- constructor(executor) {
- this.executor = executor;
- this._didRun = false;
- }
- /**
- * Get the wrapped value.
- *
- * This will force evaluation of the lazy value if it has not been resolved yet. Lazy values are only
- * resolved once. `getValue` will re-throw exceptions that are hit while resolving the value
- */
- get value() {
- if (!this._didRun) {
- try {
- this._value = this.executor();
- } catch (err) {
- this._error = err;
- } finally {
- this._didRun = true;
- }
- }
- if (this._error) {
- throw this._error;
- }
- return this._value;
- }
- /**
- * Get the wrapped value without forcing evaluation.
- */
- get rawValue() {
- return this._value;
- }
- };
- }
- });
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/base/common/strings.js
- function isFalsyOrWhitespace(str) {
- if (!str || typeof str !== "string") {
- return true;
- }
- return str.trim().length === 0;
- }
- function format(value, ...args) {
- if (args.length === 0) {
- return value;
- }
- return value.replace(_formatRegexp, function(match, group2) {
- const idx = parseInt(group2, 10);
- return isNaN(idx) || idx < 0 || idx >= args.length ? match : args[idx];
- });
- }
- function escape(html) {
- return html.replace(/[<>&]/g, function(match) {
- switch (match) {
- case "<":
- return "<";
- case ">":
- return ">";
- case "&":
- return "&";
- default:
- return match;
- }
- });
- }
- function escapeRegExpCharacters(value) {
- return value.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g, "\\$&");
- }
- function trim(haystack, needle = " ") {
- const trimmed = ltrim(haystack, needle);
- return rtrim(trimmed, needle);
- }
- function ltrim(haystack, needle) {
- if (!haystack || !needle) {
- return haystack;
- }
- const needleLen = needle.length;
- if (needleLen === 0 || haystack.length === 0) {
- return haystack;
- }
- let offset = 0;
- while (haystack.indexOf(needle, offset) === offset) {
- offset = offset + needleLen;
- }
- return haystack.substring(offset);
- }
- function rtrim(haystack, needle) {
- if (!haystack || !needle) {
- return haystack;
- }
- const needleLen = needle.length, haystackLen = haystack.length;
- if (needleLen === 0 || haystackLen === 0) {
- return haystack;
- }
- let offset = haystackLen, idx = -1;
- while (true) {
- idx = haystack.lastIndexOf(needle, offset - 1);
- if (idx === -1 || idx + needleLen !== offset) {
- break;
- }
- if (idx === 0) {
- return "";
- }
- offset = idx;
- }
- return haystack.substring(0, offset);
- }
- function convertSimple2RegExpPattern(pattern) {
- return pattern.replace(/[\-\\\{\}\+\?\|\^\$\.\,\[\]\(\)\#\s]/g, "\\$&").replace(/[\*]/g, ".*");
- }
- function stripWildcards(pattern) {
- return pattern.replace(/\*/g, "");
- }
- function createRegExp(searchString, isRegex, options = {}) {
- if (!searchString) {
- throw new Error("Cannot create regex from empty string");
- }
- if (!isRegex) {
- searchString = escapeRegExpCharacters(searchString);
- }
- if (options.wholeWord) {
- if (!/\B/.test(searchString.charAt(0))) {
- searchString = "\\b" + searchString;
- }
- if (!/\B/.test(searchString.charAt(searchString.length - 1))) {
- searchString = searchString + "\\b";
- }
- }
- let modifiers = "";
- if (options.global) {
- modifiers += "g";
- }
- if (!options.matchCase) {
- modifiers += "i";
- }
- if (options.multiline) {
- modifiers += "m";
- }
- if (options.unicode) {
- modifiers += "u";
- }
- return new RegExp(searchString, modifiers);
- }
- function regExpLeadsToEndlessLoop(regexp) {
- if (regexp.source === "^" || regexp.source === "^$" || regexp.source === "$" || regexp.source === "^\\s*$") {
- return false;
- }
- const match = regexp.exec("");
- return !!(match && regexp.lastIndex === 0);
- }
- function regExpFlags(regexp) {
- return (regexp.global ? "g" : "") + (regexp.ignoreCase ? "i" : "") + (regexp.multiline ? "m" : "") + (regexp.unicode ? "u" : "");
- }
- function splitLines(str) {
- return str.split(/\r\n|\r|\n/);
- }
- function firstNonWhitespaceIndex(str) {
- for (let i = 0, len = str.length; i < len; i++) {
- const chCode = str.charCodeAt(i);
- if (chCode !== 32 && chCode !== 9) {
- return i;
- }
- }
- return -1;
- }
- function getLeadingWhitespace(str, start = 0, end = str.length) {
- for (let i = start; i < end; i++) {
- const chCode = str.charCodeAt(i);
- if (chCode !== 32 && chCode !== 9) {
- return str.substring(start, i);
- }
- }
- return str.substring(start, end);
- }
- function lastNonWhitespaceIndex(str, startIndex = str.length - 1) {
- for (let i = startIndex; i >= 0; i--) {
- const chCode = str.charCodeAt(i);
- if (chCode !== 32 && chCode !== 9) {
- return i;
- }
- }
- return -1;
- }
- function compare(a, b) {
- if (a < b) {
- return -1;
- } else if (a > b) {
- return 1;
- } else {
- return 0;
- }
- }
- function compareSubstring(a, b, aStart = 0, aEnd = a.length, bStart = 0, bEnd = b.length) {
- for (; aStart < aEnd && bStart < bEnd; aStart++, bStart++) {
- const codeA = a.charCodeAt(aStart);
- const codeB = b.charCodeAt(bStart);
- if (codeA < codeB) {
- return -1;
- } else if (codeA > codeB) {
- return 1;
- }
- }
- const aLen = aEnd - aStart;
- const bLen = bEnd - bStart;
- if (aLen < bLen) {
- return -1;
- } else if (aLen > bLen) {
- return 1;
- }
- return 0;
- }
- function compareIgnoreCase(a, b) {
- return compareSubstringIgnoreCase(a, b, 0, a.length, 0, b.length);
- }
- function compareSubstringIgnoreCase(a, b, aStart = 0, aEnd = a.length, bStart = 0, bEnd = b.length) {
- for (; aStart < aEnd && bStart < bEnd; aStart++, bStart++) {
- let codeA = a.charCodeAt(aStart);
- let codeB = b.charCodeAt(bStart);
- if (codeA === codeB) {
- continue;
- }
- if (codeA >= 128 || codeB >= 128) {
- return compareSubstring(a.toLowerCase(), b.toLowerCase(), aStart, aEnd, bStart, bEnd);
- }
- if (isLowerAsciiLetter(codeA)) {
- codeA -= 32;
- }
- if (isLowerAsciiLetter(codeB)) {
- codeB -= 32;
- }
- const diff = codeA - codeB;
- if (diff === 0) {
- continue;
- }
- return diff;
- }
- const aLen = aEnd - aStart;
- const bLen = bEnd - bStart;
- if (aLen < bLen) {
- return -1;
- } else if (aLen > bLen) {
- return 1;
- }
- return 0;
- }
- function isAsciiDigit(code) {
- return code >= 48 && code <= 57;
- }
- function isLowerAsciiLetter(code) {
- return code >= 97 && code <= 122;
- }
- function isUpperAsciiLetter(code) {
- return code >= 65 && code <= 90;
- }
- function equalsIgnoreCase(a, b) {
- return a.length === b.length && compareSubstringIgnoreCase(a, b) === 0;
- }
- function startsWithIgnoreCase(str, candidate) {
- const candidateLength = candidate.length;
- if (candidate.length > str.length) {
- return false;
- }
- return compareSubstringIgnoreCase(str, candidate, 0, candidateLength) === 0;
- }
- function commonPrefixLength(a, b) {
- const len = Math.min(a.length, b.length);
- let i;
- for (i = 0; i < len; i++) {
- if (a.charCodeAt(i) !== b.charCodeAt(i)) {
- return i;
- }
- }
- return len;
- }
- function commonSuffixLength(a, b) {
- const len = Math.min(a.length, b.length);
- let i;
- const aLastIndex = a.length - 1;
- const bLastIndex = b.length - 1;
- for (i = 0; i < len; i++) {
- if (a.charCodeAt(aLastIndex - i) !== b.charCodeAt(bLastIndex - i)) {
- return i;
- }
- }
- return len;
- }
- function isHighSurrogate(charCode) {
- return 55296 <= charCode && charCode <= 56319;
- }
- function isLowSurrogate(charCode) {
- return 56320 <= charCode && charCode <= 57343;
- }
- function computeCodePoint(highSurrogate, lowSurrogate) {
- return (highSurrogate - 55296 << 10) + (lowSurrogate - 56320) + 65536;
- }
- function getNextCodePoint(str, len, offset) {
- const charCode = str.charCodeAt(offset);
- if (isHighSurrogate(charCode) && offset + 1 < len) {
- const nextCharCode = str.charCodeAt(offset + 1);
- if (isLowSurrogate(nextCharCode)) {
- return computeCodePoint(charCode, nextCharCode);
- }
- }
- return charCode;
- }
- function getPrevCodePoint(str, offset) {
- const charCode = str.charCodeAt(offset - 1);
- if (isLowSurrogate(charCode) && offset > 1) {
- const prevCharCode = str.charCodeAt(offset - 2);
- if (isHighSurrogate(prevCharCode)) {
- return computeCodePoint(prevCharCode, charCode);
- }
- }
- return charCode;
- }
- function nextCharLength(str, initialOffset) {
- const iterator = new GraphemeIterator(str, initialOffset);
- return iterator.nextGraphemeLength();
- }
- function prevCharLength(str, initialOffset) {
- const iterator = new GraphemeIterator(str, initialOffset);
- return iterator.prevGraphemeLength();
- }
- function getCharContainingOffset(str, offset) {
- if (offset > 0 && isLowSurrogate(str.charCodeAt(offset))) {
- offset--;
- }
- const endOffset = offset + nextCharLength(str, offset);
- const startOffset = endOffset - prevCharLength(str, endOffset);
- return [startOffset, endOffset];
- }
- function makeContainsRtl() {
- return /(?:[\u05BE\u05C0\u05C3\u05C6\u05D0-\u05F4\u0608\u060B\u060D\u061B-\u064A\u066D-\u066F\u0671-\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u0710\u0712-\u072F\u074D-\u07A5\u07B1-\u07EA\u07F4\u07F5\u07FA\u07FE-\u0815\u081A\u0824\u0828\u0830-\u0858\u085E-\u088E\u08A0-\u08C9\u200F\uFB1D\uFB1F-\uFB28\uFB2A-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFC\uFE70-\uFEFC]|\uD802[\uDC00-\uDD1B\uDD20-\uDE00\uDE10-\uDE35\uDE40-\uDEE4\uDEEB-\uDF35\uDF40-\uDFFF]|\uD803[\uDC00-\uDD23\uDE80-\uDEA9\uDEAD-\uDF45\uDF51-\uDF81\uDF86-\uDFF6]|\uD83A[\uDC00-\uDCCF\uDD00-\uDD43\uDD4B-\uDFFF]|\uD83B[\uDC00-\uDEBB])/;
- }
- function containsRTL(str) {
- if (!CONTAINS_RTL) {
- CONTAINS_RTL = makeContainsRtl();
- }
- return CONTAINS_RTL.test(str);
- }
- function isBasicASCII(str) {
- return IS_BASIC_ASCII.test(str);
- }
- function containsUnusualLineTerminators(str) {
- return UNUSUAL_LINE_TERMINATORS.test(str);
- }
- function isFullWidthCharacter(charCode) {
- return charCode >= 11904 && charCode <= 55215 || charCode >= 63744 && charCode <= 64255 || charCode >= 65281 && charCode <= 65374;
- }
- function isEmojiImprecise(x) {
- return x >= 127462 && x <= 127487 || x === 8986 || x === 8987 || x === 9200 || x === 9203 || x >= 9728 && x <= 10175 || x === 11088 || x === 11093 || x >= 127744 && x <= 128591 || x >= 128640 && x <= 128764 || x >= 128992 && x <= 129008 || x >= 129280 && x <= 129535 || x >= 129648 && x <= 129782;
- }
- function startsWithUTF8BOM(str) {
- return !!(str && str.length > 0 && str.charCodeAt(0) === 65279);
- }
- function containsUppercaseCharacter(target, ignoreEscapedChars = false) {
- if (!target) {
- return false;
- }
- if (ignoreEscapedChars) {
- target = target.replace(/\\./g, "");
- }
- return target.toLowerCase() !== target;
- }
- function singleLetterHash(n) {
- const LETTERS_CNT = 90 - 65 + 1;
- n = n % (2 * LETTERS_CNT);
- if (n < LETTERS_CNT) {
- return String.fromCharCode(97 + n);
- }
- return String.fromCharCode(65 + n - LETTERS_CNT);
- }
- function breakBetweenGraphemeBreakType(breakTypeA, breakTypeB) {
- if (breakTypeA === 0) {
- return breakTypeB !== 5 && breakTypeB !== 7;
- }
- if (breakTypeA === 2) {
- if (breakTypeB === 3) {
- return false;
- }
- }
- if (breakTypeA === 4 || breakTypeA === 2 || breakTypeA === 3) {
- return true;
- }
- if (breakTypeB === 4 || breakTypeB === 2 || breakTypeB === 3) {
- return true;
- }
- if (breakTypeA === 8) {
- if (breakTypeB === 8 || breakTypeB === 9 || breakTypeB === 11 || breakTypeB === 12) {
- return false;
- }
- }
- if (breakTypeA === 11 || breakTypeA === 9) {
- if (breakTypeB === 9 || breakTypeB === 10) {
- return false;
- }
- }
- if (breakTypeA === 12 || breakTypeA === 10) {
- if (breakTypeB === 10) {
- return false;
- }
- }
- if (breakTypeB === 5 || breakTypeB === 13) {
- return false;
- }
- if (breakTypeB === 7) {
- return false;
- }
- if (breakTypeA === 1) {
- return false;
- }
- if (breakTypeA === 13 && breakTypeB === 14) {
- return false;
- }
- if (breakTypeA === 6 && breakTypeB === 6) {
- return false;
- }
- return true;
- }
- function getGraphemeBreakRawData() {
- return JSON.parse("[0,0,0,51229,51255,12,44061,44087,12,127462,127487,6,7083,7085,5,47645,47671,12,54813,54839,12,128678,128678,14,3270,3270,5,9919,9923,14,45853,45879,12,49437,49463,12,53021,53047,12,71216,71218,7,128398,128399,14,129360,129374,14,2519,2519,5,4448,4519,9,9742,9742,14,12336,12336,14,44957,44983,12,46749,46775,12,48541,48567,12,50333,50359,12,52125,52151,12,53917,53943,12,69888,69890,5,73018,73018,5,127990,127990,14,128558,128559,14,128759,128760,14,129653,129655,14,2027,2035,5,2891,2892,7,3761,3761,5,6683,6683,5,8293,8293,4,9825,9826,14,9999,9999,14,43452,43453,5,44509,44535,12,45405,45431,12,46301,46327,12,47197,47223,12,48093,48119,12,48989,49015,12,49885,49911,12,50781,50807,12,51677,51703,12,52573,52599,12,53469,53495,12,54365,54391,12,65279,65279,4,70471,70472,7,72145,72147,7,119173,119179,5,127799,127818,14,128240,128244,14,128512,128512,14,128652,128652,14,128721,128722,14,129292,129292,14,129445,129450,14,129734,129743,14,1476,1477,5,2366,2368,7,2750,2752,7,3076,3076,5,3415,3415,5,4141,4144,5,6109,6109,5,6964,6964,5,7394,7400,5,9197,9198,14,9770,9770,14,9877,9877,14,9968,9969,14,10084,10084,14,43052,43052,5,43713,43713,5,44285,44311,12,44733,44759,12,45181,45207,12,45629,45655,12,46077,46103,12,46525,46551,12,46973,46999,12,47421,47447,12,47869,47895,12,48317,48343,12,48765,48791,12,49213,49239,12,49661,49687,12,50109,50135,12,50557,50583,12,51005,51031,12,51453,51479,12,51901,51927,12,52349,52375,12,52797,52823,12,53245,53271,12,53693,53719,12,54141,54167,12,54589,54615,12,55037,55063,12,69506,69509,5,70191,70193,5,70841,70841,7,71463,71467,5,72330,72342,5,94031,94031,5,123628,123631,5,127763,127765,14,127941,127941,14,128043,128062,14,128302,128317,14,128465,128467,14,128539,128539,14,128640,128640,14,128662,128662,14,128703,128703,14,128745,128745,14,129004,129007,14,129329,129330,14,129402,129402,14,129483,129483,14,129686,129704,14,130048,131069,14,173,173,4,1757,1757,1,2200,2207,5,2434,2435,7,2631,2632,5,2817,2817,5,3008,3008,5,3201,3201,5,3387,3388,5,3542,3542,5,3902,3903,7,4190,4192,5,6002,6003,5,6439,6440,5,6765,6770,7,7019,7027,5,7154,7155,7,8205,8205,13,8505,8505,14,9654,9654,14,9757,9757,14,9792,9792,14,9852,9853,14,9890,9894,14,9937,9937,14,9981,9981,14,10035,10036,14,11035,11036,14,42654,42655,5,43346,43347,7,43587,43587,5,44006,44007,7,44173,44199,12,44397,44423,12,44621,44647,12,44845,44871,12,45069,45095,12,45293,45319,12,45517,45543,12,45741,45767,12,45965,45991,12,46189,46215,12,46413,46439,12,46637,46663,12,46861,46887,12,47085,47111,12,47309,47335,12,47533,47559,12,47757,47783,12,47981,48007,12,48205,48231,12,48429,48455,12,48653,48679,12,48877,48903,12,49101,49127,12,49325,49351,12,49549,49575,12,49773,49799,12,49997,50023,12,50221,50247,12,50445,50471,12,50669,50695,12,50893,50919,12,51117,51143,12,51341,51367,12,51565,51591,12,51789,51815,12,52013,52039,12,52237,52263,12,52461,52487,12,52685,52711,12,52909,52935,12,53133,53159,12,53357,53383,12,53581,53607,12,53805,53831,12,54029,54055,12,54253,54279,12,54477,54503,12,54701,54727,12,54925,54951,12,55149,55175,12,68101,68102,5,69762,69762,7,70067,70069,7,70371,70378,5,70720,70721,7,71087,71087,5,71341,71341,5,71995,71996,5,72249,72249,7,72850,72871,5,73109,73109,5,118576,118598,5,121505,121519,5,127245,127247,14,127568,127569,14,127777,127777,14,127872,127891,14,127956,127967,14,128015,128016,14,128110,128172,14,128259,128259,14,128367,128368,14,128424,128424,14,128488,128488,14,128530,128532,14,128550,128551,14,128566,128566,14,128647,128647,14,128656,128656,14,128667,128673,14,128691,128693,14,128715,128715,14,128728,128732,14,128752,128752,14,128765,128767,14,129096,129103,14,129311,129311,14,129344,129349,14,129394,129394,14,129413,129425,14,129466,129471,14,129511,129535,14,129664,129666,14,129719,129722,14,129760,129767,14,917536,917631,5,13,13,2,1160,1161,5,1564,1564,4,1807,1807,1,2085,2087,5,2307,2307,7,2382,2383,7,2497,2500,5,2563,2563,7,2677,2677,5,2763,2764,7,2879,2879,5,2914,2915,5,3021,3021,5,3142,3144,5,3263,3263,5,3285,3286,5,3398,3400,7,3530,3530,5,3633,3633,5,3864,3865,5,3974,3975,5,4155,4156,7,4229,4230,5,5909,5909,7,6078,6085,7,6277,6278,5,6451,6456,7,6744,6750,5,6846,6846,5,6972,6972,5,7074,7077,5,7146,7148,7,7222,7223,5,7416,7417,5,8234,8238,4,8417,8417,5,9000,9000,14,9203,9203,14,9730,9731,14,9748,9749,14,9762,9763,14,9776,9783,14,9800,9811,14,9831,9831,14,9872,9873,14,9882,9882,14,9900,9903,14,9929,9933,14,9941,9960,14,9974,9974,14,9989,9989,14,10006,10006,14,10062,10062,14,10160,10160,14,11647,11647,5,12953,12953,14,43019,43019,5,43232,43249,5,43443,43443,5,43567,43568,7,43696,43696,5,43765,43765,7,44013,44013,5,44117,44143,12,44229,44255,12,44341,44367,12,44453,44479,12,44565,44591,12,44677,44703,12,44789,44815,12,44901,44927,12,45013,45039,12,45125,45151,12,45237,45263,12,45349,45375,12,45461,45487,12,45573,45599,12,45685,45711,12,45797,45823,12,45909,45935,12,46021,46047,12,46133,46159,12,46245,46271,12,46357,46383,12,46469,46495,12,46581,46607,12,46693,46719,12,46805,46831,12,46917,46943,12,47029,47055,12,47141,47167,12,47253,47279,12,47365,47391,12,47477,47503,12,47589,47615,12,47701,47727,12,47813,47839,12,47925,47951,12,48037,48063,12,48149,48175,12,48261,48287,12,48373,48399,12,48485,48511,12,48597,48623,12,48709,48735,12,48821,48847,12,48933,48959,12,49045,49071,12,49157,49183,12,49269,49295,12,49381,49407,12,49493,49519,12,49605,49631,12,49717,49743,12,49829,49855,12,49941,49967,12,50053,50079,12,50165,50191,12,50277,50303,12,50389,50415,12,50501,50527,12,50613,50639,12,50725,50751,12,50837,50863,12,50949,50975,12,51061,51087,12,51173,51199,12,51285,51311,12,51397,51423,12,51509,51535,12,51621,51647,12,51733,51759,12,51845,51871,12,51957,51983,12,52069,52095,12,52181,52207,12,52293,52319,12,52405,52431,12,52517,52543,12,52629,52655,12,52741,52767,12,52853,52879,12,52965,52991,12,53077,53103,12,53189,53215,12,53301,53327,12,53413,53439,12,53525,53551,12,53637,53663,12,53749,53775,12,53861,53887,12,53973,53999,12,54085,54111,12,54197,54223,12,54309,54335,12,54421,54447,12,54533,54559,12,54645,54671,12,54757,54783,12,54869,54895,12,54981,55007,12,55093,55119,12,55243,55291,10,66045,66045,5,68325,68326,5,69688,69702,5,69817,69818,5,69957,69958,7,70089,70092,5,70198,70199,5,70462,70462,5,70502,70508,5,70750,70750,5,70846,70846,7,71100,71101,5,71230,71230,7,71351,71351,5,71737,71738,5,72000,72000,7,72160,72160,5,72273,72278,5,72752,72758,5,72882,72883,5,73031,73031,5,73461,73462,7,94192,94193,7,119149,119149,7,121403,121452,5,122915,122916,5,126980,126980,14,127358,127359,14,127535,127535,14,127759,127759,14,127771,127771,14,127792,127793,14,127825,127867,14,127897,127899,14,127945,127945,14,127985,127986,14,128000,128007,14,128021,128021,14,128066,128100,14,128184,128235,14,128249,128252,14,128266,128276,14,128335,128335,14,128379,128390,14,128407,128419,14,128444,128444,14,128481,128481,14,128499,128499,14,128526,128526,14,128536,128536,14,128543,128543,14,128556,128556,14,128564,128564,14,128577,128580,14,128643,128645,14,128649,128649,14,128654,128654,14,128660,128660,14,128664,128664,14,128675,128675,14,128686,128689,14,128695,128696,14,128705,128709,14,128717,128719,14,128725,128725,14,128736,128741,14,128747,128748,14,128755,128755,14,128762,128762,14,128981,128991,14,129009,129023,14,129160,129167,14,129296,129304,14,129320,129327,14,129340,129342,14,129356,129356,14,129388,129392,14,129399,129400,14,129404,129407,14,129432,129442,14,129454,129455,14,129473,129474,14,129485,129487,14,129648,129651,14,129659,129660,14,129671,129679,14,129709,129711,14,129728,129730,14,129751,129753,14,129776,129782,14,917505,917505,4,917760,917999,5,10,10,3,127,159,4,768,879,5,1471,1471,5,1536,1541,1,1648,1648,5,1767,1768,5,1840,1866,5,2070,2073,5,2137,2139,5,2274,2274,1,2363,2363,7,2377,2380,7,2402,2403,5,2494,2494,5,2507,2508,7,2558,2558,5,2622,2624,7,2641,2641,5,2691,2691,7,2759,2760,5,2786,2787,5,2876,2876,5,2881,2884,5,2901,2902,5,3006,3006,5,3014,3016,7,3072,3072,5,3134,3136,5,3157,3158,5,3260,3260,5,3266,3266,5,3274,3275,7,3328,3329,5,3391,3392,7,3405,3405,5,3457,3457,5,3536,3537,7,3551,3551,5,3636,3642,5,3764,3772,5,3895,3895,5,3967,3967,7,3993,4028,5,4146,4151,5,4182,4183,7,4226,4226,5,4253,4253,5,4957,4959,5,5940,5940,7,6070,6070,7,6087,6088,7,6158,6158,4,6432,6434,5,6448,6449,7,6679,6680,5,6742,6742,5,6754,6754,5,6783,6783,5,6912,6915,5,6966,6970,5,6978,6978,5,7042,7042,7,7080,7081,5,7143,7143,7,7150,7150,7,7212,7219,5,7380,7392,5,7412,7412,5,8203,8203,4,8232,8232,4,8265,8265,14,8400,8412,5,8421,8432,5,8617,8618,14,9167,9167,14,9200,9200,14,9410,9410,14,9723,9726,14,9733,9733,14,9745,9745,14,9752,9752,14,9760,9760,14,9766,9766,14,9774,9774,14,9786,9786,14,9794,9794,14,9823,9823,14,9828,9828,14,9833,9850,14,9855,9855,14,9875,9875,14,9880,9880,14,9885,9887,14,9896,9897,14,9906,9916,14,9926,9927,14,9935,9935,14,9939,9939,14,9962,9962,14,9972,9972,14,9978,9978,14,9986,9986,14,9997,9997,14,10002,10002,14,10017,10017,14,10055,10055,14,10071,10071,14,10133,10135,14,10548,10549,14,11093,11093,14,12330,12333,5,12441,12442,5,42608,42610,5,43010,43010,5,43045,43046,5,43188,43203,7,43302,43309,5,43392,43394,5,43446,43449,5,43493,43493,5,43571,43572,7,43597,43597,7,43703,43704,5,43756,43757,5,44003,44004,7,44009,44010,7,44033,44059,12,44089,44115,12,44145,44171,12,44201,44227,12,44257,44283,12,44313,44339,12,44369,44395,12,44425,44451,12,44481,44507,12,44537,44563,12,44593,44619,12,44649,44675,12,44705,44731,12,44761,44787,12,44817,44843,12,44873,44899,12,44929,44955,12,44985,45011,12,45041,45067,12,45097,45123,12,45153,45179,12,45209,45235,12,45265,45291,12,45321,45347,12,45377,45403,12,45433,45459,12,45489,45515,12,45545,45571,12,45601,45627,12,45657,45683,12,45713,45739,12,45769,45795,12,45825,45851,12,45881,45907,12,45937,45963,12,45993,46019,12,46049,46075,12,46105,46131,12,46161,46187,12,46217,46243,12,46273,46299,12,46329,46355,12,46385,46411,12,46441,46467,12,46497,46523,12,46553,46579,12,46609,46635,12,46665,46691,12,46721,46747,12,46777,46803,12,46833,46859,12,46889,46915,12,46945,46971,12,47001,47027,12,47057,47083,12,47113,47139,12,47169,47195,12,47225,47251,12,47281,47307,12,47337,47363,12,47393,47419,12,47449,47475,12,47505,47531,12,47561,47587,12,47617,47643,12,47673,47699,12,47729,47755,12,47785,47811,12,47841,47867,12,47897,47923,12,47953,47979,12,48009,48035,12,48065,48091,12,48121,48147,12,48177,48203,12,48233,48259,12,48289,48315,12,48345,48371,12,48401,48427,12,48457,48483,12,48513,48539,12,48569,48595,12,48625,48651,12,48681,48707,12,48737,48763,12,48793,48819,12,48849,48875,12,48905,48931,12,48961,48987,12,49017,49043,12,49073,49099,12,49129,49155,12,49185,49211,12,49241,49267,12,49297,49323,12,49353,49379,12,49409,49435,12,49465,49491,12,49521,49547,12,49577,49603,12,49633,49659,12,49689,49715,12,49745,49771,12,49801,49827,12,49857,49883,12,49913,49939,12,49969,49995,12,50025,50051,12,50081,50107,12,50137,50163,12,50193,50219,12,50249,50275,12,50305,50331,12,50361,50387,12,50417,50443,12,50473,50499,12,50529,50555,12,50585,50611,12,50641,50667,12,50697,50723,12,50753,50779,12,50809,50835,12,50865,50891,12,50921,50947,12,50977,51003,12,51033,51059,12,51089,51115,12,51145,51171,12,51201,51227,12,51257,51283,12,51313,51339,12,51369,51395,12,51425,51451,12,51481,51507,12,51537,51563,12,51593,51619,12,51649,51675,12,51705,51731,12,51761,51787,12,51817,51843,12,51873,51899,12,51929,51955,12,51985,52011,12,52041,52067,12,52097,52123,12,52153,52179,12,52209,52235,12,52265,52291,12,52321,52347,12,52377,52403,12,52433,52459,12,52489,52515,12,52545,52571,12,52601,52627,12,52657,52683,12,52713,52739,12,52769,52795,12,52825,52851,12,52881,52907,12,52937,52963,12,52993,53019,12,53049,53075,12,53105,53131,12,53161,53187,12,53217,53243,12,53273,53299,12,53329,53355,12,53385,53411,12,53441,53467,12,53497,53523,12,53553,53579,12,53609,53635,12,53665,53691,12,53721,53747,12,53777,53803,12,53833,53859,12,53889,53915,12,53945,53971,12,54001,54027,12,54057,54083,12,54113,54139,12,54169,54195,12,54225,54251,12,54281,54307,12,54337,54363,12,54393,54419,12,54449,54475,12,54505,54531,12,54561,54587,12,54617,54643,12,54673,54699,12,54729,54755,12,54785,54811,12,54841,54867,12,54897,54923,12,54953,54979,12,55009,55035,12,55065,55091,12,55121,55147,12,55177,55203,12,65024,65039,5,65520,65528,4,66422,66426,5,68152,68154,5,69291,69292,5,69633,69633,5,69747,69748,5,69811,69814,5,69826,69826,5,69932,69932,7,70016,70017,5,70079,70080,7,70095,70095,5,70196,70196,5,70367,70367,5,70402,70403,7,70464,70464,5,70487,70487,5,70709,70711,7,70725,70725,7,70833,70834,7,70843,70844,7,70849,70849,7,71090,71093,5,71103,71104,5,71227,71228,7,71339,71339,5,71344,71349,5,71458,71461,5,71727,71735,5,71985,71989,7,71998,71998,5,72002,72002,7,72154,72155,5,72193,72202,5,72251,72254,5,72281,72283,5,72344,72345,5,72766,72766,7,72874,72880,5,72885,72886,5,73023,73029,5,73104,73105,5,73111,73111,5,92912,92916,5,94095,94098,5,113824,113827,4,119142,119142,7,119155,119162,4,119362,119364,5,121476,121476,5,122888,122904,5,123184,123190,5,125252,125258,5,127183,127183,14,127340,127343,14,127377,127386,14,127491,127503,14,127548,127551,14,127744,127756,14,127761,127761,14,127769,127769,14,127773,127774,14,127780,127788,14,127796,127797,14,127820,127823,14,127869,127869,14,127894,127895,14,127902,127903,14,127943,127943,14,127947,127950,14,127972,127972,14,127988,127988,14,127992,127994,14,128009,128011,14,128019,128019,14,128023,128041,14,128064,128064,14,128102,128107,14,128174,128181,14,128238,128238,14,128246,128247,14,128254,128254,14,128264,128264,14,128278,128299,14,128329,128330,14,128348,128359,14,128371,128377,14,128392,128393,14,128401,128404,14,128421,128421,14,128433,128434,14,128450,128452,14,128476,128478,14,128483,128483,14,128495,128495,14,128506,128506,14,128519,128520,14,128528,128528,14,128534,128534,14,128538,128538,14,128540,128542,14,128544,128549,14,128552,128555,14,128557,128557,14,128560,128563,14,128565,128565,14,128567,128576,14,128581,128591,14,128641,128642,14,128646,128646,14,128648,128648,14,128650,128651,14,128653,128653,14,128655,128655,14,128657,128659,14,128661,128661,14,128663,128663,14,128665,128666,14,128674,128674,14,128676,128677,14,128679,128685,14,128690,128690,14,128694,128694,14,128697,128702,14,128704,128704,14,128710,128714,14,128716,128716,14,128720,128720,14,128723,128724,14,128726,128727,14,128733,128735,14,128742,128744,14,128746,128746,14,128749,128751,14,128753,128754,14,128756,128758,14,128761,128761,14,128763,128764,14,128884,128895,14,128992,129003,14,129008,129008,14,129036,129039,14,129114,129119,14,129198,129279,14,129293,129295,14,129305,129310,14,129312,129319,14,129328,129328,14,129331,129338,14,129343,129343,14,129351,129355,14,129357,129359,14,129375,129387,14,129393,129393,14,129395,129398,14,129401,129401,14,129403,129403,14,129408,129412,14,129426,129431,14,129443,129444,14,129451,129453,14,129456,129465,14,129472,129472,14,129475,129482,14,129484,129484,14,129488,129510,14,129536,129647,14,129652,129652,14,129656,129658,14,129661,129663,14,129667,129670,14,129680,129685,14,129705,129708,14,129712,129718,14,129723,129727,14,129731,129733,14,129744,129750,14,129754,129759,14,129768,129775,14,129783,129791,14,917504,917504,4,917506,917535,4,917632,917759,4,918000,921599,4,0,9,4,11,12,4,14,31,4,169,169,14,174,174,14,1155,1159,5,1425,1469,5,1473,1474,5,1479,1479,5,1552,1562,5,1611,1631,5,1750,1756,5,1759,1764,5,1770,1773,5,1809,1809,5,1958,1968,5,2045,2045,5,2075,2083,5,2089,2093,5,2192,2193,1,2250,2273,5,2275,2306,5,2362,2362,5,2364,2364,5,2369,2376,5,2381,2381,5,2385,2391,5,2433,2433,5,2492,2492,5,2495,2496,7,2503,2504,7,2509,2509,5,2530,2531,5,2561,2562,5,2620,2620,5,2625,2626,5,2635,2637,5,2672,2673,5,2689,2690,5,2748,2748,5,2753,2757,5,2761,2761,7,2765,2765,5,2810,2815,5,2818,2819,7,2878,2878,5,2880,2880,7,2887,2888,7,2893,2893,5,2903,2903,5,2946,2946,5,3007,3007,7,3009,3010,7,3018,3020,7,3031,3031,5,3073,3075,7,3132,3132,5,3137,3140,7,3146,3149,5,3170,3171,5,3202,3203,7,3262,3262,7,3264,3265,7,3267,3268,7,3271,3272,7,3276,3277,5,3298,3299,5,3330,3331,7,3390,3390,5,3393,3396,5,3402,3404,7,3406,3406,1,3426,3427,5,3458,3459,7,3535,3535,5,3538,3540,5,3544,3550,7,3570,3571,7,3635,3635,7,3655,3662,5,3763,3763,7,3784,3789,5,3893,3893,5,3897,3897,5,3953,3966,5,3968,3972,5,3981,3991,5,4038,4038,5,4145,4145,7,4153,4154,5,4157,4158,5,4184,4185,5,4209,4212,5,4228,4228,7,4237,4237,5,4352,4447,8,4520,4607,10,5906,5908,5,5938,5939,5,5970,5971,5,6068,6069,5,6071,6077,5,6086,6086,5,6089,6099,5,6155,6157,5,6159,6159,5,6313,6313,5,6435,6438,7,6441,6443,7,6450,6450,5,6457,6459,5,6681,6682,7,6741,6741,7,6743,6743,7,6752,6752,5,6757,6764,5,6771,6780,5,6832,6845,5,6847,6862,5,6916,6916,7,6965,6965,5,6971,6971,7,6973,6977,7,6979,6980,7,7040,7041,5,7073,7073,7,7078,7079,7,7082,7082,7,7142,7142,5,7144,7145,5,7149,7149,5,7151,7153,5,7204,7211,7,7220,7221,7,7376,7378,5,7393,7393,7,7405,7405,5,7415,7415,7,7616,7679,5,8204,8204,5,8206,8207,4,8233,8233,4,8252,8252,14,8288,8292,4,8294,8303,4,8413,8416,5,8418,8420,5,8482,8482,14,8596,8601,14,8986,8987,14,9096,9096,14,9193,9196,14,9199,9199,14,9201,9202,14,9208,9210,14,9642,9643,14,9664,9664,14,9728,9729,14,9732,9732,14,9735,9741,14,9743,9744,14,9746,9746,14,9750,9751,14,9753,9756,14,9758,9759,14,9761,9761,14,9764,9765,14,9767,9769,14,9771,9773,14,9775,9775,14,9784,9785,14,9787,9791,14,9793,9793,14,9795,9799,14,9812,9822,14,9824,9824,14,9827,9827,14,9829,9830,14,9832,9832,14,9851,9851,14,9854,9854,14,9856,9861,14,9874,9874,14,9876,9876,14,9878,9879,14,9881,9881,14,9883,9884,14,9888,9889,14,9895,9895,14,9898,9899,14,9904,9905,14,9917,9918,14,9924,9925,14,9928,9928,14,9934,9934,14,9936,9936,14,9938,9938,14,9940,9940,14,9961,9961,14,9963,9967,14,9970,9971,14,9973,9973,14,9975,9977,14,9979,9980,14,9982,9985,14,9987,9988,14,9992,9996,14,9998,9998,14,10000,10001,14,10004,10004,14,10013,10013,14,10024,10024,14,10052,10052,14,10060,10060,14,10067,10069,14,10083,10083,14,10085,10087,14,10145,10145,14,10175,10175,14,11013,11015,14,11088,11088,14,11503,11505,5,11744,11775,5,12334,12335,5,12349,12349,14,12951,12951,14,42607,42607,5,42612,42621,5,42736,42737,5,43014,43014,5,43043,43044,7,43047,43047,7,43136,43137,7,43204,43205,5,43263,43263,5,43335,43345,5,43360,43388,8,43395,43395,7,43444,43445,7,43450,43451,7,43454,43456,7,43561,43566,5,43569,43570,5,43573,43574,5,43596,43596,5,43644,43644,5,43698,43700,5,43710,43711,5,43755,43755,7,43758,43759,7,43766,43766,5,44005,44005,5,44008,44008,5,44012,44012,7,44032,44032,11,44060,44060,11,44088,44088,11,44116,44116,11,44144,44144,11,44172,44172,11,44200,44200,11,44228,44228,11,44256,44256,11,44284,44284,11,44312,44312,11,44340,44340,11,44368,44368,11,44396,44396,11,44424,44424,11,44452,44452,11,44480,44480,11,44508,44508,11,44536,44536,11,44564,44564,11,44592,44592,11,44620,44620,11,44648,44648,11,44676,44676,11,44704,44704,11,44732,44732,11,44760,44760,11,44788,44788,11,44816,44816,11,44844,44844,11,44872,44872,11,44900,44900,11,44928,44928,11,44956,44956,11,44984,44984,11,45012,45012,11,45040,45040,11,45068,45068,11,45096,45096,11,45124,45124,11,45152,45152,11,45180,45180,11,45208,45208,11,45236,45236,11,45264,45264,11,45292,45292,11,45320,45320,11,45348,45348,11,45376,45376,11,45404,45404,11,45432,45432,11,45460,45460,11,45488,45488,11,45516,45516,11,45544,45544,11,45572,45572,11,45600,45600,11,45628,45628,11,45656,45656,11,45684,45684,11,45712,45712,11,45740,45740,11,45768,45768,11,45796,45796,11,45824,45824,11,45852,45852,11,45880,45880,11,45908,45908,11,45936,45936,11,45964,45964,11,45992,45992,11,46020,46020,11,46048,46048,11,46076,46076,11,46104,46104,11,46132,46132,11,46160,46160,11,46188,46188,11,46216,46216,11,46244,46244,11,46272,46272,11,46300,46300,11,46328,46328,11,46356,46356,11,46384,46384,11,46412,46412,11,46440,46440,11,46468,46468,11,46496,46496,11,46524,46524,11,46552,46552,11,46580,46580,11,46608,46608,11,46636,46636,11,46664,46664,11,46692,46692,11,46720,46720,11,46748,46748,11,46776,46776,11,46804,46804,11,46832,46832,11,46860,46860,11,46888,46888,11,46916,46916,11,46944,46944,11,46972,46972,11,47000,47000,11,47028,47028,11,47056,47056,11,47084,47084,11,47112,47112,11,47140,47140,11,47168,47168,11,47196,47196,11,47224,47224,11,47252,47252,11,47280,47280,11,47308,47308,11,47336,47336,11,47364,47364,11,47392,47392,11,47420,47420,11,47448,47448,11,47476,47476,11,47504,47504,11,47532,47532,11,47560,47560,11,47588,47588,11,47616,47616,11,47644,47644,11,47672,47672,11,47700,47700,11,47728,47728,11,47756,47756,11,47784,47784,11,47812,47812,11,47840,47840,11,47868,47868,11,47896,47896,11,47924,47924,11,47952,47952,11,47980,47980,11,48008,48008,11,48036,48036,11,48064,48064,11,48092,48092,11,48120,48120,11,48148,48148,11,48176,48176,11,48204,48204,11,48232,48232,11,48260,48260,11,48288,48288,11,48316,48316,11,48344,48344,11,48372,48372,11,48400,48400,11,48428,48428,11,48456,48456,11,48484,48484,11,48512,48512,11,48540,48540,11,48568,48568,11,48596,48596,11,48624,48624,11,48652,48652,11,48680,48680,11,48708,48708,11,48736,48736,11,48764,48764,11,48792,48792,11,48820,48820,11,48848,48848,11,48876,48876,11,48904,48904,11,48932,48932,11,48960,48960,11,48988,48988,11,49016,49016,11,49044,49044,11,49072,49072,11,49100,49100,11,49128,49128,11,49156,49156,11,49184,49184,11,49212,49212,11,49240,49240,11,49268,49268,11,49296,49296,11,49324,49324,11,49352,49352,11,49380,49380,11,49408,49408,11,49436,49436,11,49464,49464,11,49492,49492,11,49520,49520,11,49548,49548,11,49576,49576,11,49604,49604,11,49632,49632,11,49660,49660,11,49688,49688,11,49716,49716,11,49744,49744,11,49772,49772,11,49800,49800,11,49828,49828,11,49856,49856,11,49884,49884,11,49912,49912,11,49940,49940,11,49968,49968,11,49996,49996,11,50024,50024,11,50052,50052,11,50080,50080,11,50108,50108,11,50136,50136,11,50164,50164,11,50192,50192,11,50220,50220,11,50248,50248,11,50276,50276,11,50304,50304,11,50332,50332,11,50360,50360,11,50388,50388,11,50416,50416,11,50444,50444,11,50472,50472,11,50500,50500,11,50528,50528,11,50556,50556,11,50584,50584,11,50612,50612,11,50640,50640,11,50668,50668,11,50696,50696,11,50724,50724,11,50752,50752,11,50780,50780,11,50808,50808,11,50836,50836,11,50864,50864,11,50892,50892,11,50920,50920,11,50948,50948,11,50976,50976,11,51004,51004,11,51032,51032,11,51060,51060,11,51088,51088,11,51116,51116,11,51144,51144,11,51172,51172,11,51200,51200,11,51228,51228,11,51256,51256,11,51284,51284,11,51312,51312,11,51340,51340,11,51368,51368,11,51396,51396,11,51424,51424,11,51452,51452,11,51480,51480,11,51508,51508,11,51536,51536,11,51564,51564,11,51592,51592,11,51620,51620,11,51648,51648,11,51676,51676,11,51704,51704,11,51732,51732,11,51760,51760,11,51788,51788,11,51816,51816,11,51844,51844,11,51872,51872,11,51900,51900,11,51928,51928,11,51956,51956,11,51984,51984,11,52012,52012,11,52040,52040,11,52068,52068,11,52096,52096,11,52124,52124,11,52152,52152,11,52180,52180,11,52208,52208,11,52236,52236,11,52264,52264,11,52292,52292,11,52320,52320,11,52348,52348,11,52376,52376,11,52404,52404,11,52432,52432,11,52460,52460,11,52488,52488,11,52516,52516,11,52544,52544,11,52572,52572,11,52600,52600,11,52628,52628,11,52656,52656,11,52684,52684,11,52712,52712,11,52740,52740,11,52768,52768,11,52796,52796,11,52824,52824,11,52852,52852,11,52880,52880,11,52908,52908,11,52936,52936,11,52964,52964,11,52992,52992,11,53020,53020,11,53048,53048,11,53076,53076,11,53104,53104,11,53132,53132,11,53160,53160,11,53188,53188,11,53216,53216,11,53244,53244,11,53272,53272,11,53300,53300,11,53328,53328,11,53356,53356,11,53384,53384,11,53412,53412,11,53440,53440,11,53468,53468,11,53496,53496,11,53524,53524,11,53552,53552,11,53580,53580,11,53608,53608,11,53636,53636,11,53664,53664,11,53692,53692,11,53720,53720,11,53748,53748,11,53776,53776,11,53804,53804,11,53832,53832,11,53860,53860,11,53888,53888,11,53916,53916,11,53944,53944,11,53972,53972,11,54000,54000,11,54028,54028,11,54056,54056,11,54084,54084,11,54112,54112,11,54140,54140,11,54168,54168,11,54196,54196,11,54224,54224,11,54252,54252,11,54280,54280,11,54308,54308,11,54336,54336,11,54364,54364,11,54392,54392,11,54420,54420,11,54448,54448,11,54476,54476,11,54504,54504,11,54532,54532,11,54560,54560,11,54588,54588,11,54616,54616,11,54644,54644,11,54672,54672,11,54700,54700,11,54728,54728,11,54756,54756,11,54784,54784,11,54812,54812,11,54840,54840,11,54868,54868,11,54896,54896,11,54924,54924,11,54952,54952,11,54980,54980,11,55008,55008,11,55036,55036,11,55064,55064,11,55092,55092,11,55120,55120,11,55148,55148,11,55176,55176,11,55216,55238,9,64286,64286,5,65056,65071,5,65438,65439,5,65529,65531,4,66272,66272,5,68097,68099,5,68108,68111,5,68159,68159,5,68900,68903,5,69446,69456,5,69632,69632,7,69634,69634,7,69744,69744,5,69759,69761,5,69808,69810,7,69815,69816,7,69821,69821,1,69837,69837,1,69927,69931,5,69933,69940,5,70003,70003,5,70018,70018,7,70070,70078,5,70082,70083,1,70094,70094,7,70188,70190,7,70194,70195,7,70197,70197,7,70206,70206,5,70368,70370,7,70400,70401,5,70459,70460,5,70463,70463,7,70465,70468,7,70475,70477,7,70498,70499,7,70512,70516,5,70712,70719,5,70722,70724,5,70726,70726,5,70832,70832,5,70835,70840,5,70842,70842,5,70845,70845,5,70847,70848,5,70850,70851,5,71088,71089,7,71096,71099,7,71102,71102,7,71132,71133,5,71219,71226,5,71229,71229,5,71231,71232,5,71340,71340,7,71342,71343,7,71350,71350,7,71453,71455,5,71462,71462,7,71724,71726,7,71736,71736,7,71984,71984,5,71991,71992,7,71997,71997,7,71999,71999,1,72001,72001,1,72003,72003,5,72148,72151,5,72156,72159,7,72164,72164,7,72243,72248,5,72250,72250,1,72263,72263,5,72279,72280,7,72324,72329,1,72343,72343,7,72751,72751,7,72760,72765,5,72767,72767,5,72873,72873,7,72881,72881,7,72884,72884,7,73009,73014,5,73020,73021,5,73030,73030,1,73098,73102,7,73107,73108,7,73110,73110,7,73459,73460,5,78896,78904,4,92976,92982,5,94033,94087,7,94180,94180,5,113821,113822,5,118528,118573,5,119141,119141,5,119143,119145,5,119150,119154,5,119163,119170,5,119210,119213,5,121344,121398,5,121461,121461,5,121499,121503,5,122880,122886,5,122907,122913,5,122918,122922,5,123566,123566,5,125136,125142,5,126976,126979,14,126981,127182,14,127184,127231,14,127279,127279,14,127344,127345,14,127374,127374,14,127405,127461,14,127489,127490,14,127514,127514,14,127538,127546,14,127561,127567,14,127570,127743,14,127757,127758,14,127760,127760,14,127762,127762,14,127766,127768,14,127770,127770,14,127772,127772,14,127775,127776,14,127778,127779,14,127789,127791,14,127794,127795,14,127798,127798,14,127819,127819,14,127824,127824,14,127868,127868,14,127870,127871,14,127892,127893,14,127896,127896,14,127900,127901,14,127904,127940,14,127942,127942,14,127944,127944,14,127946,127946,14,127951,127955,14,127968,127971,14,127973,127984,14,127987,127987,14,127989,127989,14,127991,127991,14,127995,127999,5,128008,128008,14,128012,128014,14,128017,128018,14,128020,128020,14,128022,128022,14,128042,128042,14,128063,128063,14,128065,128065,14,128101,128101,14,128108,128109,14,128173,128173,14,128182,128183,14,128236,128237,14,128239,128239,14,128245,128245,14,128248,128248,14,128253,128253,14,128255,128258,14,128260,128263,14,128265,128265,14,128277,128277,14,128300,128301,14,128326,128328,14,128331,128334,14,128336,128347,14,128360,128366,14,128369,128370,14,128378,128378,14,128391,128391,14,128394,128397,14,128400,128400,14,128405,128406,14,128420,128420,14,128422,128423,14,128425,128432,14,128435,128443,14,128445,128449,14,128453,128464,14,128468,128475,14,128479,128480,14,128482,128482,14,128484,128487,14,128489,128494,14,128496,128498,14,128500,128505,14,128507,128511,14,128513,128518,14,128521,128525,14,128527,128527,14,128529,128529,14,128533,128533,14,128535,128535,14,128537,128537,14]");
- }
- function getLeftDeleteOffset(offset, str) {
- if (offset === 0) {
- return 0;
- }
- const emojiOffset = getOffsetBeforeLastEmojiComponent(offset, str);
- if (emojiOffset !== void 0) {
- return emojiOffset;
- }
- const iterator = new CodePointIterator(str, offset);
- iterator.prevCodePoint();
- return iterator.offset;
- }
- function getOffsetBeforeLastEmojiComponent(initialOffset, str) {
- const iterator = new CodePointIterator(str, initialOffset);
- let codePoint = iterator.prevCodePoint();
- while (isEmojiModifier(codePoint) || codePoint === 65039 || codePoint === 8419) {
- if (iterator.offset === 0) {
- return void 0;
- }
- codePoint = iterator.prevCodePoint();
- }
- if (!isEmojiImprecise(codePoint)) {
- return void 0;
- }
- let resultOffset = iterator.offset;
- if (resultOffset > 0) {
- const optionalZwjCodePoint = iterator.prevCodePoint();
- if (optionalZwjCodePoint === 8205) {
- resultOffset = iterator.offset;
- }
- }
- return resultOffset;
- }
- function isEmojiModifier(codePoint) {
- return 127995 <= codePoint && codePoint <= 127999;
- }
- var _a2, _formatRegexp, CodePointIterator, GraphemeIterator, CONTAINS_RTL, IS_BASIC_ASCII, UNUSUAL_LINE_TERMINATORS, UTF8_BOM_CHARACTER, GraphemeBreakTree, noBreakWhitespace, AmbiguousCharacters, InvisibleCharacters;
- var init_strings = __esm({
- "node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/base/common/strings.js"() {
- init_cache();
- init_lazy();
- _formatRegexp = /{(\d+)}/g;
- CodePointIterator = class {
- get offset() {
- return this._offset;
- }
- constructor(str, offset = 0) {
- this._str = str;
- this._len = str.length;
- this._offset = offset;
- }
- setOffset(offset) {
- this._offset = offset;
- }
- prevCodePoint() {
- const codePoint = getPrevCodePoint(this._str, this._offset);
- this._offset -= codePoint >= 65536 ? 2 : 1;
- return codePoint;
- }
- nextCodePoint() {
- const codePoint = getNextCodePoint(this._str, this._len, this._offset);
- this._offset += codePoint >= 65536 ? 2 : 1;
- return codePoint;
- }
- eol() {
- return this._offset >= this._len;
- }
- };
- GraphemeIterator = class {
- get offset() {
- return this._iterator.offset;
- }
- constructor(str, offset = 0) {
- this._iterator = new CodePointIterator(str, offset);
- }
- nextGraphemeLength() {
- const graphemeBreakTree = GraphemeBreakTree.getInstance();
- const iterator = this._iterator;
- const initialOffset = iterator.offset;
- let graphemeBreakType = graphemeBreakTree.getGraphemeBreakType(iterator.nextCodePoint());
- while (!iterator.eol()) {
- const offset = iterator.offset;
- const nextGraphemeBreakType = graphemeBreakTree.getGraphemeBreakType(iterator.nextCodePoint());
- if (breakBetweenGraphemeBreakType(graphemeBreakType, nextGraphemeBreakType)) {
- iterator.setOffset(offset);
- break;
- }
- graphemeBreakType = nextGraphemeBreakType;
- }
- return iterator.offset - initialOffset;
- }
- prevGraphemeLength() {
- const graphemeBreakTree = GraphemeBreakTree.getInstance();
- const iterator = this._iterator;
- const initialOffset = iterator.offset;
- let graphemeBreakType = graphemeBreakTree.getGraphemeBreakType(iterator.prevCodePoint());
- while (iterator.offset > 0) {
- const offset = iterator.offset;
- const prevGraphemeBreakType = graphemeBreakTree.getGraphemeBreakType(iterator.prevCodePoint());
- if (breakBetweenGraphemeBreakType(prevGraphemeBreakType, graphemeBreakType)) {
- iterator.setOffset(offset);
- break;
- }
- graphemeBreakType = prevGraphemeBreakType;
- }
- return initialOffset - iterator.offset;
- }
- eol() {
- return this._iterator.eol();
- }
- };
- CONTAINS_RTL = void 0;
- IS_BASIC_ASCII = /^[\t\n\r\x20-\x7E]*$/;
- UNUSUAL_LINE_TERMINATORS = /[\u2028\u2029]/;
- UTF8_BOM_CHARACTER = String.fromCharCode(
- 65279
- /* CharCode.UTF8_BOM */
- );
- GraphemeBreakTree = class _GraphemeBreakTree {
- static getInstance() {
- if (!_GraphemeBreakTree._INSTANCE) {
- _GraphemeBreakTree._INSTANCE = new _GraphemeBreakTree();
- }
- return _GraphemeBreakTree._INSTANCE;
- }
- constructor() {
- this._data = getGraphemeBreakRawData();
- }
- getGraphemeBreakType(codePoint) {
- if (codePoint < 32) {
- if (codePoint === 10) {
- return 3;
- }
- if (codePoint === 13) {
- return 2;
- }
- return 4;
- }
- if (codePoint < 127) {
- return 0;
- }
- const data = this._data;
- const nodeCount = data.length / 3;
- let nodeIndex = 1;
- while (nodeIndex <= nodeCount) {
- if (codePoint < data[3 * nodeIndex]) {
- nodeIndex = 2 * nodeIndex;
- } else if (codePoint > data[3 * nodeIndex + 1]) {
- nodeIndex = 2 * nodeIndex + 1;
- } else {
- return data[3 * nodeIndex + 2];
- }
- }
- return 0;
- }
- };
- GraphemeBreakTree._INSTANCE = null;
- noBreakWhitespace = " ";
- AmbiguousCharacters = class _AmbiguousCharacters {
- static getInstance(locales) {
- return _AmbiguousCharacters.cache.get(Array.from(locales));
- }
- static getLocales() {
- return _AmbiguousCharacters._locales.value;
- }
- constructor(confusableDictionary) {
- this.confusableDictionary = confusableDictionary;
- }
- isAmbiguous(codePoint) {
- return this.confusableDictionary.has(codePoint);
- }
- /**
- * Returns the non basic ASCII code point that the given code point can be confused,
- * or undefined if such code point does note exist.
- */
- getPrimaryConfusable(codePoint) {
- return this.confusableDictionary.get(codePoint);
- }
- getConfusableCodePoints() {
- return new Set(this.confusableDictionary.keys());
- }
- };
- _a2 = AmbiguousCharacters;
- AmbiguousCharacters.ambiguousCharacterData = new Lazy(() => {
- return JSON.parse('{"_common":[8232,32,8233,32,5760,32,8192,32,8193,32,8194,32,8195,32,8196,32,8197,32,8198,32,8200,32,8201,32,8202,32,8287,32,8199,32,8239,32,2042,95,65101,95,65102,95,65103,95,8208,45,8209,45,8210,45,65112,45,1748,45,8259,45,727,45,8722,45,10134,45,11450,45,1549,44,1643,44,8218,44,184,44,42233,44,894,59,2307,58,2691,58,1417,58,1795,58,1796,58,5868,58,65072,58,6147,58,6153,58,8282,58,1475,58,760,58,42889,58,8758,58,720,58,42237,58,451,33,11601,33,660,63,577,63,2429,63,5038,63,42731,63,119149,46,8228,46,1793,46,1794,46,42510,46,68176,46,1632,46,1776,46,42232,46,1373,96,65287,96,8219,96,8242,96,1370,96,1523,96,8175,96,65344,96,900,96,8189,96,8125,96,8127,96,8190,96,697,96,884,96,712,96,714,96,715,96,756,96,699,96,701,96,700,96,702,96,42892,96,1497,96,2036,96,2037,96,5194,96,5836,96,94033,96,94034,96,65339,91,10088,40,10098,40,12308,40,64830,40,65341,93,10089,41,10099,41,12309,41,64831,41,10100,123,119060,123,10101,125,65342,94,8270,42,1645,42,8727,42,66335,42,5941,47,8257,47,8725,47,8260,47,9585,47,10187,47,10744,47,119354,47,12755,47,12339,47,11462,47,20031,47,12035,47,65340,92,65128,92,8726,92,10189,92,10741,92,10745,92,119311,92,119355,92,12756,92,20022,92,12034,92,42872,38,708,94,710,94,5869,43,10133,43,66203,43,8249,60,10094,60,706,60,119350,60,5176,60,5810,60,5120,61,11840,61,12448,61,42239,61,8250,62,10095,62,707,62,119351,62,5171,62,94015,62,8275,126,732,126,8128,126,8764,126,65372,124,65293,45,120784,50,120794,50,120804,50,120814,50,120824,50,130034,50,42842,50,423,50,1000,50,42564,50,5311,50,42735,50,119302,51,120785,51,120795,51,120805,51,120815,51,120825,51,130035,51,42923,51,540,51,439,51,42858,51,11468,51,1248,51,94011,51,71882,51,120786,52,120796,52,120806,52,120816,52,120826,52,130036,52,5070,52,71855,52,120787,53,120797,53,120807,53,120817,53,120827,53,130037,53,444,53,71867,53,120788,54,120798,54,120808,54,120818,54,120828,54,130038,54,11474,54,5102,54,71893,54,119314,55,120789,55,120799,55,120809,55,120819,55,120829,55,130039,55,66770,55,71878,55,2819,56,2538,56,2666,56,125131,56,120790,56,120800,56,120810,56,120820,56,120830,56,130040,56,547,56,546,56,66330,56,2663,57,2920,57,2541,57,3437,57,120791,57,120801,57,120811,57,120821,57,120831,57,130041,57,42862,57,11466,57,71884,57,71852,57,71894,57,9082,97,65345,97,119834,97,119886,97,119938,97,119990,97,120042,97,120094,97,120146,97,120198,97,120250,97,120302,97,120354,97,120406,97,120458,97,593,97,945,97,120514,97,120572,97,120630,97,120688,97,120746,97,65313,65,119808,65,119860,65,119912,65,119964,65,120016,65,120068,65,120120,65,120172,65,120224,65,120276,65,120328,65,120380,65,120432,65,913,65,120488,65,120546,65,120604,65,120662,65,120720,65,5034,65,5573,65,42222,65,94016,65,66208,65,119835,98,119887,98,119939,98,119991,98,120043,98,120095,98,120147,98,120199,98,120251,98,120303,98,120355,98,120407,98,120459,98,388,98,5071,98,5234,98,5551,98,65314,66,8492,66,119809,66,119861,66,119913,66,120017,66,120069,66,120121,66,120173,66,120225,66,120277,66,120329,66,120381,66,120433,66,42932,66,914,66,120489,66,120547,66,120605,66,120663,66,120721,66,5108,66,5623,66,42192,66,66178,66,66209,66,66305,66,65347,99,8573,99,119836,99,119888,99,119940,99,119992,99,120044,99,120096,99,120148,99,120200,99,120252,99,120304,99,120356,99,120408,99,120460,99,7428,99,1010,99,11429,99,43951,99,66621,99,128844,67,71922,67,71913,67,65315,67,8557,67,8450,67,8493,67,119810,67,119862,67,119914,67,119966,67,120018,67,120174,67,120226,67,120278,67,120330,67,120382,67,120434,67,1017,67,11428,67,5087,67,42202,67,66210,67,66306,67,66581,67,66844,67,8574,100,8518,100,119837,100,119889,100,119941,100,119993,100,120045,100,120097,100,120149,100,120201,100,120253,100,120305,100,120357,100,120409,100,120461,100,1281,100,5095,100,5231,100,42194,100,8558,68,8517,68,119811,68,119863,68,119915,68,119967,68,120019,68,120071,68,120123,68,120175,68,120227,68,120279,68,120331,68,120383,68,120435,68,5024,68,5598,68,5610,68,42195,68,8494,101,65349,101,8495,101,8519,101,119838,101,119890,101,119942,101,120046,101,120098,101,120150,101,120202,101,120254,101,120306,101,120358,101,120410,101,120462,101,43826,101,1213,101,8959,69,65317,69,8496,69,119812,69,119864,69,119916,69,120020,69,120072,69,120124,69,120176,69,120228,69,120280,69,120332,69,120384,69,120436,69,917,69,120492,69,120550,69,120608,69,120666,69,120724,69,11577,69,5036,69,42224,69,71846,69,71854,69,66182,69,119839,102,119891,102,119943,102,119995,102,120047,102,120099,102,120151,102,120203,102,120255,102,120307,102,120359,102,120411,102,120463,102,43829,102,42905,102,383,102,7837,102,1412,102,119315,70,8497,70,119813,70,119865,70,119917,70,120021,70,120073,70,120125,70,120177,70,120229,70,120281,70,120333,70,120385,70,120437,70,42904,70,988,70,120778,70,5556,70,42205,70,71874,70,71842,70,66183,70,66213,70,66853,70,65351,103,8458,103,119840,103,119892,103,119944,103,120048,103,120100,103,120152,103,120204,103,120256,103,120308,103,120360,103,120412,103,120464,103,609,103,7555,103,397,103,1409,103,119814,71,119866,71,119918,71,119970,71,120022,71,120074,71,120126,71,120178,71,120230,71,120282,71,120334,71,120386,71,120438,71,1292,71,5056,71,5107,71,42198,71,65352,104,8462,104,119841,104,119945,104,119997,104,120049,104,120101,104,120153,104,120205,104,120257,104,120309,104,120361,104,120413,104,120465,104,1211,104,1392,104,5058,104,65320,72,8459,72,8460,72,8461,72,119815,72,119867,72,119919,72,120023,72,120179,72,120231,72,120283,72,120335,72,120387,72,120439,72,919,72,120494,72,120552,72,120610,72,120668,72,120726,72,11406,72,5051,72,5500,72,42215,72,66255,72,731,105,9075,105,65353,105,8560,105,8505,105,8520,105,119842,105,119894,105,119946,105,119998,105,120050,105,120102,105,120154,105,120206,105,120258,105,120310,105,120362,105,120414,105,120466,105,120484,105,618,105,617,105,953,105,8126,105,890,105,120522,105,120580,105,120638,105,120696,105,120754,105,1110,105,42567,105,1231,105,43893,105,5029,105,71875,105,65354,106,8521,106,119843,106,119895,106,119947,106,119999,106,120051,106,120103,106,120155,106,120207,106,120259,106,120311,106,120363,106,120415,106,120467,106,1011,106,1112,106,65322,74,119817,74,119869,74,119921,74,119973,74,120025,74,120077,74,120129,74,120181,74,120233,74,120285,74,120337,74,120389,74,120441,74,42930,74,895,74,1032,74,5035,74,5261,74,42201,74,119844,107,119896,107,119948,107,120000,107,120052,107,120104,107,120156,107,120208,107,120260,107,120312,107,120364,107,120416,107,120468,107,8490,75,65323,75,119818,75,119870,75,119922,75,119974,75,120026,75,120078,75,120130,75,120182,75,120234,75,120286,75,120338,75,120390,75,120442,75,922,75,120497,75,120555,75,120613,75,120671,75,120729,75,11412,75,5094,75,5845,75,42199,75,66840,75,1472,108,8739,73,9213,73,65512,73,1633,108,1777,73,66336,108,125127,108,120783,73,120793,73,120803,73,120813,73,120823,73,130033,73,65321,73,8544,73,8464,73,8465,73,119816,73,119868,73,119920,73,120024,73,120128,73,120180,73,120232,73,120284,73,120336,73,120388,73,120440,73,65356,108,8572,73,8467,108,119845,108,119897,108,119949,108,120001,108,120053,108,120105,73,120157,73,120209,73,120261,73,120313,73,120365,73,120417,73,120469,73,448,73,120496,73,120554,73,120612,73,120670,73,120728,73,11410,73,1030,73,1216,73,1493,108,1503,108,1575,108,126464,108,126592,108,65166,108,65165,108,1994,108,11599,73,5825,73,42226,73,93992,73,66186,124,66313,124,119338,76,8556,76,8466,76,119819,76,119871,76,119923,76,120027,76,120079,76,120131,76,120183,76,120235,76,120287,76,120339,76,120391,76,120443,76,11472,76,5086,76,5290,76,42209,76,93974,76,71843,76,71858,76,66587,76,66854,76,65325,77,8559,77,8499,77,119820,77,119872,77,119924,77,120028,77,120080,77,120132,77,120184,77,120236,77,120288,77,120340,77,120392,77,120444,77,924,77,120499,77,120557,77,120615,77,120673,77,120731,77,1018,77,11416,77,5047,77,5616,77,5846,77,42207,77,66224,77,66321,77,119847,110,119899,110,119951,110,120003,110,120055,110,120107,110,120159,110,120211,110,120263,110,120315,110,120367,110,120419,110,120471,110,1400,110,1404,110,65326,78,8469,78,119821,78,119873,78,119925,78,119977,78,120029,78,120081,78,120185,78,120237,78,120289,78,120341,78,120393,78,120445,78,925,78,120500,78,120558,78,120616,78,120674,78,120732,78,11418,78,42208,78,66835,78,3074,111,3202,111,3330,111,3458,111,2406,111,2662,111,2790,111,3046,111,3174,111,3302,111,3430,111,3664,111,3792,111,4160,111,1637,111,1781,111,65359,111,8500,111,119848,111,119900,111,119952,111,120056,111,120108,111,120160,111,120212,111,120264,111,120316,111,120368,111,120420,111,120472,111,7439,111,7441,111,43837,111,959,111,120528,111,120586,111,120644,111,120702,111,120760,111,963,111,120532,111,120590,111,120648,111,120706,111,120764,111,11423,111,4351,111,1413,111,1505,111,1607,111,126500,111,126564,111,126596,111,65259,111,65260,111,65258,111,65257,111,1726,111,64428,111,64429,111,64427,111,64426,111,1729,111,64424,111,64425,111,64423,111,64422,111,1749,111,3360,111,4125,111,66794,111,71880,111,71895,111,66604,111,1984,79,2534,79,2918,79,12295,79,70864,79,71904,79,120782,79,120792,79,120802,79,120812,79,120822,79,130032,79,65327,79,119822,79,119874,79,119926,79,119978,79,120030,79,120082,79,120134,79,120186,79,120238,79,120290,79,120342,79,120394,79,120446,79,927,79,120502,79,120560,79,120618,79,120676,79,120734,79,11422,79,1365,79,11604,79,4816,79,2848,79,66754,79,42227,79,71861,79,66194,79,66219,79,66564,79,66838,79,9076,112,65360,112,119849,112,119901,112,119953,112,120005,112,120057,112,120109,112,120161,112,120213,112,120265,112,120317,112,120369,112,120421,112,120473,112,961,112,120530,112,120544,112,120588,112,120602,112,120646,112,120660,112,120704,112,120718,112,120762,112,120776,112,11427,112,65328,80,8473,80,119823,80,119875,80,119927,80,119979,80,120031,80,120083,80,120187,80,120239,80,120291,80,120343,80,120395,80,120447,80,929,80,120504,80,120562,80,120620,80,120678,80,120736,80,11426,80,5090,80,5229,80,42193,80,66197,80,119850,113,119902,113,119954,113,120006,113,120058,113,120110,113,120162,113,120214,113,120266,113,120318,113,120370,113,120422,113,120474,113,1307,113,1379,113,1382,113,8474,81,119824,81,119876,81,119928,81,119980,81,120032,81,120084,81,120188,81,120240,81,120292,81,120344,81,120396,81,120448,81,11605,81,119851,114,119903,114,119955,114,120007,114,120059,114,120111,114,120163,114,120215,114,120267,114,120319,114,120371,114,120423,114,120475,114,43847,114,43848,114,7462,114,11397,114,43905,114,119318,82,8475,82,8476,82,8477,82,119825,82,119877,82,119929,82,120033,82,120189,82,120241,82,120293,82,120345,82,120397,82,120449,82,422,82,5025,82,5074,82,66740,82,5511,82,42211,82,94005,82,65363,115,119852,115,119904,115,119956,115,120008,115,120060,115,120112,115,120164,115,120216,115,120268,115,120320,115,120372,115,120424,115,120476,115,42801,115,445,115,1109,115,43946,115,71873,115,66632,115,65331,83,119826,83,119878,83,119930,83,119982,83,120034,83,120086,83,120138,83,120190,83,120242,83,120294,83,120346,83,120398,83,120450,83,1029,83,1359,83,5077,83,5082,83,42210,83,94010,83,66198,83,66592,83,119853,116,119905,116,119957,116,120009,116,120061,116,120113,116,120165,116,120217,116,120269,116,120321,116,120373,116,120425,116,120477,116,8868,84,10201,84,128872,84,65332,84,119827,84,119879,84,119931,84,119983,84,120035,84,120087,84,120139,84,120191,84,120243,84,120295,84,120347,84,120399,84,120451,84,932,84,120507,84,120565,84,120623,84,120681,84,120739,84,11430,84,5026,84,42196,84,93962,84,71868,84,66199,84,66225,84,66325,84,119854,117,119906,117,119958,117,120010,117,120062,117,120114,117,120166,117,120218,117,120270,117,120322,117,120374,117,120426,117,120478,117,42911,117,7452,117,43854,117,43858,117,651,117,965,117,120534,117,120592,117,120650,117,120708,117,120766,117,1405,117,66806,117,71896,117,8746,85,8899,85,119828,85,119880,85,119932,85,119984,85,120036,85,120088,85,120140,85,120192,85,120244,85,120296,85,120348,85,120400,85,120452,85,1357,85,4608,85,66766,85,5196,85,42228,85,94018,85,71864,85,8744,118,8897,118,65366,118,8564,118,119855,118,119907,118,119959,118,120011,118,120063,118,120115,118,120167,118,120219,118,120271,118,120323,118,120375,118,120427,118,120479,118,7456,118,957,118,120526,118,120584,118,120642,118,120700,118,120758,118,1141,118,1496,118,71430,118,43945,118,71872,118,119309,86,1639,86,1783,86,8548,86,119829,86,119881,86,119933,86,119985,86,120037,86,120089,86,120141,86,120193,86,120245,86,120297,86,120349,86,120401,86,120453,86,1140,86,11576,86,5081,86,5167,86,42719,86,42214,86,93960,86,71840,86,66845,86,623,119,119856,119,119908,119,119960,119,120012,119,120064,119,120116,119,120168,119,120220,119,120272,119,120324,119,120376,119,120428,119,120480,119,7457,119,1121,119,1309,119,1377,119,71434,119,71438,119,71439,119,43907,119,71919,87,71910,87,119830,87,119882,87,119934,87,119986,87,120038,87,120090,87,120142,87,120194,87,120246,87,120298,87,120350,87,120402,87,120454,87,1308,87,5043,87,5076,87,42218,87,5742,120,10539,120,10540,120,10799,120,65368,120,8569,120,119857,120,119909,120,119961,120,120013,120,120065,120,120117,120,120169,120,120221,120,120273,120,120325,120,120377,120,120429,120,120481,120,5441,120,5501,120,5741,88,9587,88,66338,88,71916,88,65336,88,8553,88,119831,88,119883,88,119935,88,119987,88,120039,88,120091,88,120143,88,120195,88,120247,88,120299,88,120351,88,120403,88,120455,88,42931,88,935,88,120510,88,120568,88,120626,88,120684,88,120742,88,11436,88,11613,88,5815,88,42219,88,66192,88,66228,88,66327,88,66855,88,611,121,7564,121,65369,121,119858,121,119910,121,119962,121,120014,121,120066,121,120118,121,120170,121,120222,121,120274,121,120326,121,120378,121,120430,121,120482,121,655,121,7935,121,43866,121,947,121,8509,121,120516,121,120574,121,120632,121,120690,121,120748,121,1199,121,4327,121,71900,121,65337,89,119832,89,119884,89,119936,89,119988,89,120040,89,120092,89,120144,89,120196,89,120248,89,120300,89,120352,89,120404,89,120456,89,933,89,978,89,120508,89,120566,89,120624,89,120682,89,120740,89,11432,89,1198,89,5033,89,5053,89,42220,89,94019,89,71844,89,66226,89,119859,122,119911,122,119963,122,120015,122,120067,122,120119,122,120171,122,120223,122,120275,122,120327,122,120379,122,120431,122,120483,122,7458,122,43923,122,71876,122,66293,90,71909,90,65338,90,8484,90,8488,90,119833,90,119885,90,119937,90,119989,90,120041,90,120197,90,120249,90,120301,90,120353,90,120405,90,120457,90,918,90,120493,90,120551,90,120609,90,120667,90,120725,90,5059,90,42204,90,71849,90,65282,34,65284,36,65285,37,65286,38,65290,42,65291,43,65294,46,65295,47,65296,48,65297,49,65298,50,65299,51,65300,52,65301,53,65302,54,65303,55,65304,56,65305,57,65308,60,65309,61,65310,62,65312,64,65316,68,65318,70,65319,71,65324,76,65329,81,65330,82,65333,85,65334,86,65335,87,65343,95,65346,98,65348,100,65350,102,65355,107,65357,109,65358,110,65361,113,65362,114,65364,116,65365,117,65367,119,65370,122,65371,123,65373,125,119846,109],"_default":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"cs":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"de":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"es":[8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"fr":[65374,126,65306,58,65281,33,8216,96,8245,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"it":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"ja":[8211,45,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65292,44,65307,59],"ko":[8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"pl":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"pt-BR":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"qps-ploc":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"ru":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,305,105,921,73,1009,112,215,120,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"tr":[160,32,8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"zh-hans":[65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41],"zh-hant":[8211,45,65374,126,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65307,59]}');
- });
- AmbiguousCharacters.cache = new LRUCachedFunction((locales) => {
- function arrayToMap(arr) {
- const result = /* @__PURE__ */ new Map();
- for (let i = 0; i < arr.length; i += 2) {
- result.set(arr[i], arr[i + 1]);
- }
- return result;
- }
- function mergeMaps(map1, map2) {
- const result = new Map(map1);
- for (const [key, value] of map2) {
- result.set(key, value);
- }
- return result;
- }
- function intersectMaps(map1, map2) {
- if (!map1) {
- return map2;
- }
- const result = /* @__PURE__ */ new Map();
- for (const [key, value] of map1) {
- if (map2.has(key)) {
- result.set(key, value);
- }
- }
- return result;
- }
- const data = _a2.ambiguousCharacterData.value;
- let filteredLocales = locales.filter((l) => !l.startsWith("_") && l in data);
- if (filteredLocales.length === 0) {
- filteredLocales = ["_default"];
- }
- let languageSpecificMap = void 0;
- for (const locale of filteredLocales) {
- const map2 = arrayToMap(data[locale]);
- languageSpecificMap = intersectMaps(languageSpecificMap, map2);
- }
- const commonMap = arrayToMap(data["_common"]);
- const map = mergeMaps(commonMap, languageSpecificMap);
- return new AmbiguousCharacters(map);
- });
- AmbiguousCharacters._locales = new Lazy(() => Object.keys(AmbiguousCharacters.ambiguousCharacterData.value).filter((k) => !k.startsWith("_")));
- InvisibleCharacters = class _InvisibleCharacters {
- static getRawData() {
- return JSON.parse("[9,10,11,12,13,32,127,160,173,847,1564,4447,4448,6068,6069,6155,6156,6157,6158,7355,7356,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8203,8204,8205,8206,8207,8234,8235,8236,8237,8238,8239,8287,8288,8289,8290,8291,8292,8293,8294,8295,8296,8297,8298,8299,8300,8301,8302,8303,10240,12288,12644,65024,65025,65026,65027,65028,65029,65030,65031,65032,65033,65034,65035,65036,65037,65038,65039,65279,65440,65520,65521,65522,65523,65524,65525,65526,65527,65528,65532,78844,119155,119156,119157,119158,119159,119160,119161,119162,917504,917505,917506,917507,917508,917509,917510,917511,917512,917513,917514,917515,917516,917517,917518,917519,917520,917521,917522,917523,917524,917525,917526,917527,917528,917529,917530,917531,917532,917533,917534,917535,917536,917537,917538,917539,917540,917541,917542,917543,917544,917545,917546,917547,917548,917549,917550,917551,917552,917553,917554,917555,917556,917557,917558,917559,917560,917561,917562,917563,917564,917565,917566,917567,917568,917569,917570,917571,917572,917573,917574,917575,917576,917577,917578,917579,917580,917581,917582,917583,917584,917585,917586,917587,917588,917589,917590,917591,917592,917593,917594,917595,917596,917597,917598,917599,917600,917601,917602,917603,917604,917605,917606,917607,917608,917609,917610,917611,917612,917613,917614,917615,917616,917617,917618,917619,917620,917621,917622,917623,917624,917625,917626,917627,917628,917629,917630,917631,917760,917761,917762,917763,917764,917765,917766,917767,917768,917769,917770,917771,917772,917773,917774,917775,917776,917777,917778,917779,917780,917781,917782,917783,917784,917785,917786,917787,917788,917789,917790,917791,917792,917793,917794,917795,917796,917797,917798,917799,917800,917801,917802,917803,917804,917805,917806,917807,917808,917809,917810,917811,917812,917813,917814,917815,917816,917817,917818,917819,917820,917821,917822,917823,917824,917825,917826,917827,917828,917829,917830,917831,917832,917833,917834,917835,917836,917837,917838,917839,917840,917841,917842,917843,917844,917845,917846,917847,917848,917849,917850,917851,917852,917853,917854,917855,917856,917857,917858,917859,917860,917861,917862,917863,917864,917865,917866,917867,917868,917869,917870,917871,917872,917873,917874,917875,917876,917877,917878,917879,917880,917881,917882,917883,917884,917885,917886,917887,917888,917889,917890,917891,917892,917893,917894,917895,917896,917897,917898,917899,917900,917901,917902,917903,917904,917905,917906,917907,917908,917909,917910,917911,917912,917913,917914,917915,917916,917917,917918,917919,917920,917921,917922,917923,917924,917925,917926,917927,917928,917929,917930,917931,917932,917933,917934,917935,917936,917937,917938,917939,917940,917941,917942,917943,917944,917945,917946,917947,917948,917949,917950,917951,917952,917953,917954,917955,917956,917957,917958,917959,917960,917961,917962,917963,917964,917965,917966,917967,917968,917969,917970,917971,917972,917973,917974,917975,917976,917977,917978,917979,917980,917981,917982,917983,917984,917985,917986,917987,917988,917989,917990,917991,917992,917993,917994,917995,917996,917997,917998,917999]");
- }
- static getData() {
- if (!this._data) {
- this._data = new Set(_InvisibleCharacters.getRawData());
- }
- return this._data;
- }
- static isInvisibleCharacter(codePoint) {
- return _InvisibleCharacters.getData().has(codePoint);
- }
- static get codePoints() {
- return _InvisibleCharacters.getData();
- }
- };
- InvisibleCharacters._data = void 0;
- }
- });
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/base/common/hash.js
- function hash(obj) {
- return doHash(obj, 0);
- }
- function doHash(obj, hashVal) {
- switch (typeof obj) {
- case "object":
- if (obj === null) {
- return numberHash(349, hashVal);
- } else if (Array.isArray(obj)) {
- return arrayHash(obj, hashVal);
- }
- return objectHash(obj, hashVal);
- case "string":
- return stringHash(obj, hashVal);
- case "boolean":
- return booleanHash(obj, hashVal);
- case "number":
- return numberHash(obj, hashVal);
- case "undefined":
- return numberHash(937, hashVal);
- default:
- return numberHash(617, hashVal);
- }
- }
- function numberHash(val, initialHashVal) {
- return (initialHashVal << 5) - initialHashVal + val | 0;
- }
- function booleanHash(b, initialHashVal) {
- return numberHash(b ? 433 : 863, initialHashVal);
- }
- function stringHash(s, hashVal) {
- hashVal = numberHash(149417, hashVal);
- for (let i = 0, length = s.length; i < length; i++) {
- hashVal = numberHash(s.charCodeAt(i), hashVal);
- }
- return hashVal;
- }
- function arrayHash(arr, initialHashVal) {
- initialHashVal = numberHash(104579, initialHashVal);
- return arr.reduce((hashVal, item) => doHash(item, hashVal), initialHashVal);
- }
- function objectHash(obj, initialHashVal) {
- initialHashVal = numberHash(181387, initialHashVal);
- return Object.keys(obj).sort().reduce((hashVal, key) => {
- hashVal = stringHash(key, hashVal);
- return doHash(obj[key], hashVal);
- }, initialHashVal);
- }
- function leftRotate(value, bits, totalBits = 32) {
- const delta = totalBits - bits;
- const mask = ~((1 << delta) - 1);
- return (value << bits | (mask & value) >>> delta) >>> 0;
- }
- function fill(dest, index = 0, count = dest.byteLength, value = 0) {
- for (let i = 0; i < count; i++) {
- dest[index + i] = value;
- }
- }
- function leftPad(value, length, char = "0") {
- while (value.length < length) {
- value = char + value;
- }
- return value;
- }
- function toHexString(bufferOrValue, bitsize = 32) {
- if (bufferOrValue instanceof ArrayBuffer) {
- return Array.from(new Uint8Array(bufferOrValue)).map((b) => b.toString(16).padStart(2, "0")).join("");
- }
- return leftPad((bufferOrValue >>> 0).toString(16), bitsize / 4);
- }
- var StringSHA1;
- var init_hash = __esm({
- "node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/base/common/hash.js"() {
- init_strings();
- StringSHA1 = class _StringSHA1 {
- constructor() {
- this._h0 = 1732584193;
- this._h1 = 4023233417;
- this._h2 = 2562383102;
- this._h3 = 271733878;
- this._h4 = 3285377520;
- this._buff = new Uint8Array(
- 64 + 3
- /* to fit any utf-8 */
- );
- this._buffDV = new DataView(this._buff.buffer);
- this._buffLen = 0;
- this._totalLen = 0;
- this._leftoverHighSurrogate = 0;
- this._finished = false;
- }
- update(str) {
- const strLen = str.length;
- if (strLen === 0) {
- return;
- }
- const buff = this._buff;
- let buffLen = this._buffLen;
- let leftoverHighSurrogate = this._leftoverHighSurrogate;
- let charCode;
- let offset;
- if (leftoverHighSurrogate !== 0) {
- charCode = leftoverHighSurrogate;
- offset = -1;
- leftoverHighSurrogate = 0;
- } else {
- charCode = str.charCodeAt(0);
- offset = 0;
- }
- while (true) {
- let codePoint = charCode;
- if (isHighSurrogate(charCode)) {
- if (offset + 1 < strLen) {
- const nextCharCode = str.charCodeAt(offset + 1);
- if (isLowSurrogate(nextCharCode)) {
- offset++;
- codePoint = computeCodePoint(charCode, nextCharCode);
- } else {
- codePoint = 65533;
- }
- } else {
- leftoverHighSurrogate = charCode;
- break;
- }
- } else if (isLowSurrogate(charCode)) {
- codePoint = 65533;
- }
- buffLen = this._push(buff, buffLen, codePoint);
- offset++;
- if (offset < strLen) {
- charCode = str.charCodeAt(offset);
- } else {
- break;
- }
- }
- this._buffLen = buffLen;
- this._leftoverHighSurrogate = leftoverHighSurrogate;
- }
- _push(buff, buffLen, codePoint) {
- if (codePoint < 128) {
- buff[buffLen++] = codePoint;
- } else if (codePoint < 2048) {
- buff[buffLen++] = 192 | (codePoint & 1984) >>> 6;
- buff[buffLen++] = 128 | (codePoint & 63) >>> 0;
- } else if (codePoint < 65536) {
- buff[buffLen++] = 224 | (codePoint & 61440) >>> 12;
- buff[buffLen++] = 128 | (codePoint & 4032) >>> 6;
- buff[buffLen++] = 128 | (codePoint & 63) >>> 0;
- } else {
- buff[buffLen++] = 240 | (codePoint & 1835008) >>> 18;
- buff[buffLen++] = 128 | (codePoint & 258048) >>> 12;
- buff[buffLen++] = 128 | (codePoint & 4032) >>> 6;
- buff[buffLen++] = 128 | (codePoint & 63) >>> 0;
- }
- if (buffLen >= 64) {
- this._step();
- buffLen -= 64;
- this._totalLen += 64;
- buff[0] = buff[64 + 0];
- buff[1] = buff[64 + 1];
- buff[2] = buff[64 + 2];
- }
- return buffLen;
- }
- digest() {
- if (!this._finished) {
- this._finished = true;
- if (this._leftoverHighSurrogate) {
- this._leftoverHighSurrogate = 0;
- this._buffLen = this._push(
- this._buff,
- this._buffLen,
- 65533
- /* SHA1Constant.UNICODE_REPLACEMENT */
- );
- }
- this._totalLen += this._buffLen;
- this._wrapUp();
- }
- return toHexString(this._h0) + toHexString(this._h1) + toHexString(this._h2) + toHexString(this._h3) + toHexString(this._h4);
- }
- _wrapUp() {
- this._buff[this._buffLen++] = 128;
- fill(this._buff, this._buffLen);
- if (this._buffLen > 56) {
- this._step();
- fill(this._buff);
- }
- const ml = 8 * this._totalLen;
- this._buffDV.setUint32(56, Math.floor(ml / 4294967296), false);
- this._buffDV.setUint32(60, ml % 4294967296, false);
- this._step();
- }
- _step() {
- const bigBlock32 = _StringSHA1._bigBlock32;
- const data = this._buffDV;
- for (let j = 0; j < 64; j += 4) {
- bigBlock32.setUint32(j, data.getUint32(j, false), false);
- }
- for (let j = 64; j < 320; j += 4) {
- bigBlock32.setUint32(j, leftRotate(bigBlock32.getUint32(j - 12, false) ^ bigBlock32.getUint32(j - 32, false) ^ bigBlock32.getUint32(j - 56, false) ^ bigBlock32.getUint32(j - 64, false), 1), false);
- }
- let a = this._h0;
- let b = this._h1;
- let c = this._h2;
- let d = this._h3;
- let e = this._h4;
- let f, k;
- let temp;
- for (let j = 0; j < 80; j++) {
- if (j < 20) {
- f = b & c | ~b & d;
- k = 1518500249;
- } else if (j < 40) {
- f = b ^ c ^ d;
- k = 1859775393;
- } else if (j < 60) {
- f = b & c | b & d | c & d;
- k = 2400959708;
- } else {
- f = b ^ c ^ d;
- k = 3395469782;
- }
- temp = leftRotate(a, 5) + f + e + k + bigBlock32.getUint32(j * 4, false) & 4294967295;
- e = d;
- d = c;
- c = leftRotate(b, 30);
- b = a;
- a = temp;
- }
- this._h0 = this._h0 + a & 4294967295;
- this._h1 = this._h1 + b & 4294967295;
- this._h2 = this._h2 + c & 4294967295;
- this._h3 = this._h3 + d & 4294967295;
- this._h4 = this._h4 + e & 4294967295;
- }
- };
- StringSHA1._bigBlock32 = new DataView(new ArrayBuffer(320));
- }
- });
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/base/common/process.js
- var safeProcess, cwd, env, platform;
- var init_process = __esm({
- "node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/base/common/process.js"() {
- init_platform();
- if (typeof globals.vscode !== "undefined" && typeof globals.vscode.process !== "undefined") {
- const sandboxProcess = globals.vscode.process;
- safeProcess = {
- get platform() {
- return sandboxProcess.platform;
- },
- get arch() {
- return sandboxProcess.arch;
- },
- get env() {
- return sandboxProcess.env;
- },
- cwd() {
- return sandboxProcess.cwd();
- }
- };
- } else if (typeof process !== "undefined") {
- safeProcess = {
- get platform() {
- return process.platform;
- },
- get arch() {
- return process.arch;
- },
- get env() {
- return process.env;
- },
- cwd() {
- return process.env["VSCODE_CWD"] || process.cwd();
- }
- };
- } else {
- safeProcess = {
- // Supported
- get platform() {
- return isWindows ? "win32" : isMacintosh ? "darwin" : "linux";
- },
- get arch() {
- return void 0;
- },
- // Unsupported
- get env() {
- return {};
- },
- cwd() {
- return "/";
- }
- };
- }
- cwd = safeProcess.cwd;
- env = safeProcess.env;
- platform = safeProcess.platform;
- }
- });
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/base/common/path.js
- function validateObject(pathObject, name) {
- if (pathObject === null || typeof pathObject !== "object") {
- throw new ErrorInvalidArgType(name, "Object", pathObject);
- }
- }
- function validateString(value, name) {
- if (typeof value !== "string") {
- throw new ErrorInvalidArgType(name, "string", value);
- }
- }
- function isPathSeparator(code) {
- return code === CHAR_FORWARD_SLASH || code === CHAR_BACKWARD_SLASH;
- }
- function isPosixPathSeparator(code) {
- return code === CHAR_FORWARD_SLASH;
- }
- function isWindowsDeviceRoot(code) {
- return code >= CHAR_UPPERCASE_A && code <= CHAR_UPPERCASE_Z || code >= CHAR_LOWERCASE_A && code <= CHAR_LOWERCASE_Z;
- }
- function normalizeString(path, allowAboveRoot, separator, isPathSeparator2) {
- let res = "";
- let lastSegmentLength = 0;
- let lastSlash = -1;
- let dots = 0;
- let code = 0;
- for (let i = 0; i <= path.length; ++i) {
- if (i < path.length) {
- code = path.charCodeAt(i);
- } else if (isPathSeparator2(code)) {
- break;
- } else {
- code = CHAR_FORWARD_SLASH;
- }
- if (isPathSeparator2(code)) {
- if (lastSlash === i - 1 || dots === 1) {
- } else if (dots === 2) {
- if (res.length < 2 || lastSegmentLength !== 2 || res.charCodeAt(res.length - 1) !== CHAR_DOT || res.charCodeAt(res.length - 2) !== CHAR_DOT) {
- if (res.length > 2) {
- const lastSlashIndex = res.lastIndexOf(separator);
- if (lastSlashIndex === -1) {
- res = "";
- lastSegmentLength = 0;
- } else {
- res = res.slice(0, lastSlashIndex);
- lastSegmentLength = res.length - 1 - res.lastIndexOf(separator);
- }
- lastSlash = i;
- dots = 0;
- continue;
- } else if (res.length !== 0) {
- res = "";
- lastSegmentLength = 0;
- lastSlash = i;
- dots = 0;
- continue;
- }
- }
- if (allowAboveRoot) {
- res += res.length > 0 ? `${separator}..` : "..";
- lastSegmentLength = 2;
- }
- } else {
- if (res.length > 0) {
- res += `${separator}${path.slice(lastSlash + 1, i)}`;
- } else {
- res = path.slice(lastSlash + 1, i);
- }
- lastSegmentLength = i - lastSlash - 1;
- }
- lastSlash = i;
- dots = 0;
- } else if (code === CHAR_DOT && dots !== -1) {
- ++dots;
- } else {
- dots = -1;
- }
- }
- return res;
- }
- function _format2(sep2, pathObject) {
- validateObject(pathObject, "pathObject");
- const dir = pathObject.dir || pathObject.root;
- const base = pathObject.base || `${pathObject.name || ""}${pathObject.ext || ""}`;
- if (!dir) {
- return base;
- }
- return dir === pathObject.root ? `${dir}${base}` : `${dir}${sep2}${base}`;
- }
- var CHAR_UPPERCASE_A, CHAR_LOWERCASE_A, CHAR_UPPERCASE_Z, CHAR_LOWERCASE_Z, CHAR_DOT, CHAR_FORWARD_SLASH, CHAR_BACKWARD_SLASH, CHAR_COLON, CHAR_QUESTION_MARK, ErrorInvalidArgType, platformIsWin32, win32, posixCwd, posix, normalize, resolve, relative, dirname, basename, extname, sep;
- var init_path = __esm({
- "node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/base/common/path.js"() {
- init_process();
- CHAR_UPPERCASE_A = 65;
- CHAR_LOWERCASE_A = 97;
- CHAR_UPPERCASE_Z = 90;
- CHAR_LOWERCASE_Z = 122;
- CHAR_DOT = 46;
- CHAR_FORWARD_SLASH = 47;
- CHAR_BACKWARD_SLASH = 92;
- CHAR_COLON = 58;
- CHAR_QUESTION_MARK = 63;
- ErrorInvalidArgType = class extends Error {
- constructor(name, expected, actual) {
- let determiner;
- if (typeof expected === "string" && expected.indexOf("not ") === 0) {
- determiner = "must not be";
- expected = expected.replace(/^not /, "");
- } else {
- determiner = "must be";
- }
- const type = name.indexOf(".") !== -1 ? "property" : "argument";
- let msg = `The "${name}" ${type} ${determiner} of type ${expected}`;
- msg += `. Received type ${typeof actual}`;
- super(msg);
- this.code = "ERR_INVALID_ARG_TYPE";
- }
- };
- platformIsWin32 = platform === "win32";
- win32 = {
- // path.resolve([from ...], to)
- resolve(...pathSegments) {
- let resolvedDevice = "";
- let resolvedTail = "";
- let resolvedAbsolute = false;
- for (let i = pathSegments.length - 1; i >= -1; i--) {
- let path;
- if (i >= 0) {
- path = pathSegments[i];
- validateString(path, "path");
- if (path.length === 0) {
- continue;
- }
- } else if (resolvedDevice.length === 0) {
- path = cwd();
- } else {
- path = env[`=${resolvedDevice}`] || cwd();
- if (path === void 0 || path.slice(0, 2).toLowerCase() !== resolvedDevice.toLowerCase() && path.charCodeAt(2) === CHAR_BACKWARD_SLASH) {
- path = `${resolvedDevice}\\`;
- }
- }
- const len = path.length;
- let rootEnd = 0;
- let device = "";
- let isAbsolute = false;
- const code = path.charCodeAt(0);
- if (len === 1) {
- if (isPathSeparator(code)) {
- rootEnd = 1;
- isAbsolute = true;
- }
- } else if (isPathSeparator(code)) {
- isAbsolute = true;
- if (isPathSeparator(path.charCodeAt(1))) {
- let j = 2;
- let last = j;
- while (j < len && !isPathSeparator(path.charCodeAt(j))) {
- j++;
- }
- if (j < len && j !== last) {
- const firstPart = path.slice(last, j);
- last = j;
- while (j < len && isPathSeparator(path.charCodeAt(j))) {
- j++;
- }
- if (j < len && j !== last) {
- last = j;
- while (j < len && !isPathSeparator(path.charCodeAt(j))) {
- j++;
- }
- if (j === len || j !== last) {
- device = `\\\\${firstPart}\\${path.slice(last, j)}`;
- rootEnd = j;
- }
- }
- }
- } else {
- rootEnd = 1;
- }
- } else if (isWindowsDeviceRoot(code) && path.charCodeAt(1) === CHAR_COLON) {
- device = path.slice(0, 2);
- rootEnd = 2;
- if (len > 2 && isPathSeparator(path.charCodeAt(2))) {
- isAbsolute = true;
- rootEnd = 3;
- }
- }
- if (device.length > 0) {
- if (resolvedDevice.length > 0) {
- if (device.toLowerCase() !== resolvedDevice.toLowerCase()) {
- continue;
- }
- } else {
- resolvedDevice = device;
- }
- }
- if (resolvedAbsolute) {
- if (resolvedDevice.length > 0) {
- break;
- }
- } else {
- resolvedTail = `${path.slice(rootEnd)}\\${resolvedTail}`;
- resolvedAbsolute = isAbsolute;
- if (isAbsolute && resolvedDevice.length > 0) {
- break;
- }
- }
- }
- resolvedTail = normalizeString(resolvedTail, !resolvedAbsolute, "\\", isPathSeparator);
- return resolvedAbsolute ? `${resolvedDevice}\\${resolvedTail}` : `${resolvedDevice}${resolvedTail}` || ".";
- },
- normalize(path) {
- validateString(path, "path");
- const len = path.length;
- if (len === 0) {
- return ".";
- }
- let rootEnd = 0;
- let device;
- let isAbsolute = false;
- const code = path.charCodeAt(0);
- if (len === 1) {
- return isPosixPathSeparator(code) ? "\\" : path;
- }
- if (isPathSeparator(code)) {
- isAbsolute = true;
- if (isPathSeparator(path.charCodeAt(1))) {
- let j = 2;
- let last = j;
- while (j < len && !isPathSeparator(path.charCodeAt(j))) {
- j++;
- }
- if (j < len && j !== last) {
- const firstPart = path.slice(last, j);
- last = j;
- while (j < len && isPathSeparator(path.charCodeAt(j))) {
- j++;
- }
- if (j < len && j !== last) {
- last = j;
- while (j < len && !isPathSeparator(path.charCodeAt(j))) {
- j++;
- }
- if (j === len) {
- return `\\\\${firstPart}\\${path.slice(last)}\\`;
- }
- if (j !== last) {
- device = `\\\\${firstPart}\\${path.slice(last, j)}`;
- rootEnd = j;
- }
- }
- }
- } else {
- rootEnd = 1;
- }
- } else if (isWindowsDeviceRoot(code) && path.charCodeAt(1) === CHAR_COLON) {
- device = path.slice(0, 2);
- rootEnd = 2;
- if (len > 2 && isPathSeparator(path.charCodeAt(2))) {
- isAbsolute = true;
- rootEnd = 3;
- }
- }
- let tail3 = rootEnd < len ? normalizeString(path.slice(rootEnd), !isAbsolute, "\\", isPathSeparator) : "";
- if (tail3.length === 0 && !isAbsolute) {
- tail3 = ".";
- }
- if (tail3.length > 0 && isPathSeparator(path.charCodeAt(len - 1))) {
- tail3 += "\\";
- }
- if (device === void 0) {
- return isAbsolute ? `\\${tail3}` : tail3;
- }
- return isAbsolute ? `${device}\\${tail3}` : `${device}${tail3}`;
- },
- isAbsolute(path) {
- validateString(path, "path");
- const len = path.length;
- if (len === 0) {
- return false;
- }
- const code = path.charCodeAt(0);
- return isPathSeparator(code) || // Possible device root
- len > 2 && isWindowsDeviceRoot(code) && path.charCodeAt(1) === CHAR_COLON && isPathSeparator(path.charCodeAt(2));
- },
- join(...paths) {
- if (paths.length === 0) {
- return ".";
- }
- let joined;
- let firstPart;
- for (let i = 0; i < paths.length; ++i) {
- const arg = paths[i];
- validateString(arg, "path");
- if (arg.length > 0) {
- if (joined === void 0) {
- joined = firstPart = arg;
- } else {
- joined += `\\${arg}`;
- }
- }
- }
- if (joined === void 0) {
- return ".";
- }
- let needsReplace = true;
- let slashCount = 0;
- if (typeof firstPart === "string" && isPathSeparator(firstPart.charCodeAt(0))) {
- ++slashCount;
- const firstLen = firstPart.length;
- if (firstLen > 1 && isPathSeparator(firstPart.charCodeAt(1))) {
- ++slashCount;
- if (firstLen > 2) {
- if (isPathSeparator(firstPart.charCodeAt(2))) {
- ++slashCount;
- } else {
- needsReplace = false;
- }
- }
- }
- }
- if (needsReplace) {
- while (slashCount < joined.length && isPathSeparator(joined.charCodeAt(slashCount))) {
- slashCount++;
- }
- if (slashCount >= 2) {
- joined = `\\${joined.slice(slashCount)}`;
- }
- }
- return win32.normalize(joined);
- },
- // It will solve the relative path from `from` to `to`, for instance:
- // from = 'C:\\orandea\\test\\aaa'
- // to = 'C:\\orandea\\impl\\bbb'
- // The output of the function should be: '..\\..\\impl\\bbb'
- relative(from, to) {
- validateString(from, "from");
- validateString(to, "to");
- if (from === to) {
- return "";
- }
- const fromOrig = win32.resolve(from);
- const toOrig = win32.resolve(to);
- if (fromOrig === toOrig) {
- return "";
- }
- from = fromOrig.toLowerCase();
- to = toOrig.toLowerCase();
- if (from === to) {
- return "";
- }
- let fromStart = 0;
- while (fromStart < from.length && from.charCodeAt(fromStart) === CHAR_BACKWARD_SLASH) {
- fromStart++;
- }
- let fromEnd = from.length;
- while (fromEnd - 1 > fromStart && from.charCodeAt(fromEnd - 1) === CHAR_BACKWARD_SLASH) {
- fromEnd--;
- }
- const fromLen = fromEnd - fromStart;
- let toStart = 0;
- while (toStart < to.length && to.charCodeAt(toStart) === CHAR_BACKWARD_SLASH) {
- toStart++;
- }
- let toEnd = to.length;
- while (toEnd - 1 > toStart && to.charCodeAt(toEnd - 1) === CHAR_BACKWARD_SLASH) {
- toEnd--;
- }
- const toLen = toEnd - toStart;
- const length = fromLen < toLen ? fromLen : toLen;
- let lastCommonSep = -1;
- let i = 0;
- for (; i < length; i++) {
- const fromCode = from.charCodeAt(fromStart + i);
- if (fromCode !== to.charCodeAt(toStart + i)) {
- break;
- } else if (fromCode === CHAR_BACKWARD_SLASH) {
- lastCommonSep = i;
- }
- }
- if (i !== length) {
- if (lastCommonSep === -1) {
- return toOrig;
- }
- } else {
- if (toLen > length) {
- if (to.charCodeAt(toStart + i) === CHAR_BACKWARD_SLASH) {
- return toOrig.slice(toStart + i + 1);
- }
- if (i === 2) {
- return toOrig.slice(toStart + i);
- }
- }
- if (fromLen > length) {
- if (from.charCodeAt(fromStart + i) === CHAR_BACKWARD_SLASH) {
- lastCommonSep = i;
- } else if (i === 2) {
- lastCommonSep = 3;
- }
- }
- if (lastCommonSep === -1) {
- lastCommonSep = 0;
- }
- }
- let out = "";
- for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) {
- if (i === fromEnd || from.charCodeAt(i) === CHAR_BACKWARD_SLASH) {
- out += out.length === 0 ? ".." : "\\..";
- }
- }
- toStart += lastCommonSep;
- if (out.length > 0) {
- return `${out}${toOrig.slice(toStart, toEnd)}`;
- }
- if (toOrig.charCodeAt(toStart) === CHAR_BACKWARD_SLASH) {
- ++toStart;
- }
- return toOrig.slice(toStart, toEnd);
- },
- toNamespacedPath(path) {
- if (typeof path !== "string" || path.length === 0) {
- return path;
- }
- const resolvedPath = win32.resolve(path);
- if (resolvedPath.length <= 2) {
- return path;
- }
- if (resolvedPath.charCodeAt(0) === CHAR_BACKWARD_SLASH) {
- if (resolvedPath.charCodeAt(1) === CHAR_BACKWARD_SLASH) {
- const code = resolvedPath.charCodeAt(2);
- if (code !== CHAR_QUESTION_MARK && code !== CHAR_DOT) {
- return `\\\\?\\UNC\\${resolvedPath.slice(2)}`;
- }
- }
- } else if (isWindowsDeviceRoot(resolvedPath.charCodeAt(0)) && resolvedPath.charCodeAt(1) === CHAR_COLON && resolvedPath.charCodeAt(2) === CHAR_BACKWARD_SLASH) {
- return `\\\\?\\${resolvedPath}`;
- }
- return path;
- },
- dirname(path) {
- validateString(path, "path");
- const len = path.length;
- if (len === 0) {
- return ".";
- }
- let rootEnd = -1;
- let offset = 0;
- const code = path.charCodeAt(0);
- if (len === 1) {
- return isPathSeparator(code) ? path : ".";
- }
- if (isPathSeparator(code)) {
- rootEnd = offset = 1;
- if (isPathSeparator(path.charCodeAt(1))) {
- let j = 2;
- let last = j;
- while (j < len && !isPathSeparator(path.charCodeAt(j))) {
- j++;
- }
- if (j < len && j !== last) {
- last = j;
- while (j < len && isPathSeparator(path.charCodeAt(j))) {
- j++;
- }
- if (j < len && j !== last) {
- last = j;
- while (j < len && !isPathSeparator(path.charCodeAt(j))) {
- j++;
- }
- if (j === len) {
- return path;
- }
- if (j !== last) {
- rootEnd = offset = j + 1;
- }
- }
- }
- }
- } else if (isWindowsDeviceRoot(code) && path.charCodeAt(1) === CHAR_COLON) {
- rootEnd = len > 2 && isPathSeparator(path.charCodeAt(2)) ? 3 : 2;
- offset = rootEnd;
- }
- let end = -1;
- let matchedSlash = true;
- for (let i = len - 1; i >= offset; --i) {
- if (isPathSeparator(path.charCodeAt(i))) {
- if (!matchedSlash) {
- end = i;
- break;
- }
- } else {
- matchedSlash = false;
- }
- }
- if (end === -1) {
- if (rootEnd === -1) {
- return ".";
- }
- end = rootEnd;
- }
- return path.slice(0, end);
- },
- basename(path, ext) {
- if (ext !== void 0) {
- validateString(ext, "ext");
- }
- validateString(path, "path");
- let start = 0;
- let end = -1;
- let matchedSlash = true;
- let i;
- if (path.length >= 2 && isWindowsDeviceRoot(path.charCodeAt(0)) && path.charCodeAt(1) === CHAR_COLON) {
- start = 2;
- }
- if (ext !== void 0 && ext.length > 0 && ext.length <= path.length) {
- if (ext === path) {
- return "";
- }
- let extIdx = ext.length - 1;
- let firstNonSlashEnd = -1;
- for (i = path.length - 1; i >= start; --i) {
- const code = path.charCodeAt(i);
- if (isPathSeparator(code)) {
- if (!matchedSlash) {
- start = i + 1;
- break;
- }
- } else {
- if (firstNonSlashEnd === -1) {
- matchedSlash = false;
- firstNonSlashEnd = i + 1;
- }
- if (extIdx >= 0) {
- if (code === ext.charCodeAt(extIdx)) {
- if (--extIdx === -1) {
- end = i;
- }
- } else {
- extIdx = -1;
- end = firstNonSlashEnd;
- }
- }
- }
- }
- if (start === end) {
- end = firstNonSlashEnd;
- } else if (end === -1) {
- end = path.length;
- }
- return path.slice(start, end);
- }
- for (i = path.length - 1; i >= start; --i) {
- if (isPathSeparator(path.charCodeAt(i))) {
- if (!matchedSlash) {
- start = i + 1;
- break;
- }
- } else if (end === -1) {
- matchedSlash = false;
- end = i + 1;
- }
- }
- if (end === -1) {
- return "";
- }
- return path.slice(start, end);
- },
- extname(path) {
- validateString(path, "path");
- let start = 0;
- let startDot = -1;
- let startPart = 0;
- let end = -1;
- let matchedSlash = true;
- let preDotState = 0;
- if (path.length >= 2 && path.charCodeAt(1) === CHAR_COLON && isWindowsDeviceRoot(path.charCodeAt(0))) {
- start = startPart = 2;
- }
- for (let i = path.length - 1; i >= start; --i) {
- const code = path.charCodeAt(i);
- if (isPathSeparator(code)) {
- if (!matchedSlash) {
- startPart = i + 1;
- break;
- }
- continue;
- }
- if (end === -1) {
- matchedSlash = false;
- end = i + 1;
- }
- if (code === CHAR_DOT) {
- if (startDot === -1) {
- startDot = i;
- } else if (preDotState !== 1) {
- preDotState = 1;
- }
- } else if (startDot !== -1) {
- preDotState = -1;
- }
- }
- if (startDot === -1 || end === -1 || // We saw a non-dot character immediately before the dot
- preDotState === 0 || // The (right-most) trimmed path component is exactly '..'
- preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {
- return "";
- }
- return path.slice(startDot, end);
- },
- format: _format2.bind(null, "\\"),
- parse(path) {
- validateString(path, "path");
- const ret = { root: "", dir: "", base: "", ext: "", name: "" };
- if (path.length === 0) {
- return ret;
- }
- const len = path.length;
- let rootEnd = 0;
- let code = path.charCodeAt(0);
- if (len === 1) {
- if (isPathSeparator(code)) {
- ret.root = ret.dir = path;
- return ret;
- }
- ret.base = ret.name = path;
- return ret;
- }
- if (isPathSeparator(code)) {
- rootEnd = 1;
- if (isPathSeparator(path.charCodeAt(1))) {
- let j = 2;
- let last = j;
- while (j < len && !isPathSeparator(path.charCodeAt(j))) {
- j++;
- }
- if (j < len && j !== last) {
- last = j;
- while (j < len && isPathSeparator(path.charCodeAt(j))) {
- j++;
- }
- if (j < len && j !== last) {
- last = j;
- while (j < len && !isPathSeparator(path.charCodeAt(j))) {
- j++;
- }
- if (j === len) {
- rootEnd = j;
- } else if (j !== last) {
- rootEnd = j + 1;
- }
- }
- }
- }
- } else if (isWindowsDeviceRoot(code) && path.charCodeAt(1) === CHAR_COLON) {
- if (len <= 2) {
- ret.root = ret.dir = path;
- return ret;
- }
- rootEnd = 2;
- if (isPathSeparator(path.charCodeAt(2))) {
- if (len === 3) {
- ret.root = ret.dir = path;
- return ret;
- }
- rootEnd = 3;
- }
- }
- if (rootEnd > 0) {
- ret.root = path.slice(0, rootEnd);
- }
- let startDot = -1;
- let startPart = rootEnd;
- let end = -1;
- let matchedSlash = true;
- let i = path.length - 1;
- let preDotState = 0;
- for (; i >= rootEnd; --i) {
- code = path.charCodeAt(i);
- if (isPathSeparator(code)) {
- if (!matchedSlash) {
- startPart = i + 1;
- break;
- }
- continue;
- }
- if (end === -1) {
- matchedSlash = false;
- end = i + 1;
- }
- if (code === CHAR_DOT) {
- if (startDot === -1) {
- startDot = i;
- } else if (preDotState !== 1) {
- preDotState = 1;
- }
- } else if (startDot !== -1) {
- preDotState = -1;
- }
- }
- if (end !== -1) {
- if (startDot === -1 || // We saw a non-dot character immediately before the dot
- preDotState === 0 || // The (right-most) trimmed path component is exactly '..'
- preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {
- ret.base = ret.name = path.slice(startPart, end);
- } else {
- ret.name = path.slice(startPart, startDot);
- ret.base = path.slice(startPart, end);
- ret.ext = path.slice(startDot, end);
- }
- }
- if (startPart > 0 && startPart !== rootEnd) {
- ret.dir = path.slice(0, startPart - 1);
- } else {
- ret.dir = ret.root;
- }
- return ret;
- },
- sep: "\\",
- delimiter: ";",
- win32: null,
- posix: null
- };
- posixCwd = (() => {
- if (platformIsWin32) {
- const regexp = /\\/g;
- return () => {
- const cwd2 = cwd().replace(regexp, "/");
- return cwd2.slice(cwd2.indexOf("/"));
- };
- }
- return () => cwd();
- })();
- posix = {
- // path.resolve([from ...], to)
- resolve(...pathSegments) {
- let resolvedPath = "";
- let resolvedAbsolute = false;
- for (let i = pathSegments.length - 1; i >= -1 && !resolvedAbsolute; i--) {
- const path = i >= 0 ? pathSegments[i] : posixCwd();
- validateString(path, "path");
- if (path.length === 0) {
- continue;
- }
- resolvedPath = `${path}/${resolvedPath}`;
- resolvedAbsolute = path.charCodeAt(0) === CHAR_FORWARD_SLASH;
- }
- resolvedPath = normalizeString(resolvedPath, !resolvedAbsolute, "/", isPosixPathSeparator);
- if (resolvedAbsolute) {
- return `/${resolvedPath}`;
- }
- return resolvedPath.length > 0 ? resolvedPath : ".";
- },
- normalize(path) {
- validateString(path, "path");
- if (path.length === 0) {
- return ".";
- }
- const isAbsolute = path.charCodeAt(0) === CHAR_FORWARD_SLASH;
- const trailingSeparator = path.charCodeAt(path.length - 1) === CHAR_FORWARD_SLASH;
- path = normalizeString(path, !isAbsolute, "/", isPosixPathSeparator);
- if (path.length === 0) {
- if (isAbsolute) {
- return "/";
- }
- return trailingSeparator ? "./" : ".";
- }
- if (trailingSeparator) {
- path += "/";
- }
- return isAbsolute ? `/${path}` : path;
- },
- isAbsolute(path) {
- validateString(path, "path");
- return path.length > 0 && path.charCodeAt(0) === CHAR_FORWARD_SLASH;
- },
- join(...paths) {
- if (paths.length === 0) {
- return ".";
- }
- let joined;
- for (let i = 0; i < paths.length; ++i) {
- const arg = paths[i];
- validateString(arg, "path");
- if (arg.length > 0) {
- if (joined === void 0) {
- joined = arg;
- } else {
- joined += `/${arg}`;
- }
- }
- }
- if (joined === void 0) {
- return ".";
- }
- return posix.normalize(joined);
- },
- relative(from, to) {
- validateString(from, "from");
- validateString(to, "to");
- if (from === to) {
- return "";
- }
- from = posix.resolve(from);
- to = posix.resolve(to);
- if (from === to) {
- return "";
- }
- const fromStart = 1;
- const fromEnd = from.length;
- const fromLen = fromEnd - fromStart;
- const toStart = 1;
- const toLen = to.length - toStart;
- const length = fromLen < toLen ? fromLen : toLen;
- let lastCommonSep = -1;
- let i = 0;
- for (; i < length; i++) {
- const fromCode = from.charCodeAt(fromStart + i);
- if (fromCode !== to.charCodeAt(toStart + i)) {
- break;
- } else if (fromCode === CHAR_FORWARD_SLASH) {
- lastCommonSep = i;
- }
- }
- if (i === length) {
- if (toLen > length) {
- if (to.charCodeAt(toStart + i) === CHAR_FORWARD_SLASH) {
- return to.slice(toStart + i + 1);
- }
- if (i === 0) {
- return to.slice(toStart + i);
- }
- } else if (fromLen > length) {
- if (from.charCodeAt(fromStart + i) === CHAR_FORWARD_SLASH) {
- lastCommonSep = i;
- } else if (i === 0) {
- lastCommonSep = 0;
- }
- }
- }
- let out = "";
- for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) {
- if (i === fromEnd || from.charCodeAt(i) === CHAR_FORWARD_SLASH) {
- out += out.length === 0 ? ".." : "/..";
- }
- }
- return `${out}${to.slice(toStart + lastCommonSep)}`;
- },
- toNamespacedPath(path) {
- return path;
- },
- dirname(path) {
- validateString(path, "path");
- if (path.length === 0) {
- return ".";
- }
- const hasRoot = path.charCodeAt(0) === CHAR_FORWARD_SLASH;
- let end = -1;
- let matchedSlash = true;
- for (let i = path.length - 1; i >= 1; --i) {
- if (path.charCodeAt(i) === CHAR_FORWARD_SLASH) {
- if (!matchedSlash) {
- end = i;
- break;
- }
- } else {
- matchedSlash = false;
- }
- }
- if (end === -1) {
- return hasRoot ? "/" : ".";
- }
- if (hasRoot && end === 1) {
- return "//";
- }
- return path.slice(0, end);
- },
- basename(path, ext) {
- if (ext !== void 0) {
- validateString(ext, "ext");
- }
- validateString(path, "path");
- let start = 0;
- let end = -1;
- let matchedSlash = true;
- let i;
- if (ext !== void 0 && ext.length > 0 && ext.length <= path.length) {
- if (ext === path) {
- return "";
- }
- let extIdx = ext.length - 1;
- let firstNonSlashEnd = -1;
- for (i = path.length - 1; i >= 0; --i) {
- const code = path.charCodeAt(i);
- if (code === CHAR_FORWARD_SLASH) {
- if (!matchedSlash) {
- start = i + 1;
- break;
- }
- } else {
- if (firstNonSlashEnd === -1) {
- matchedSlash = false;
- firstNonSlashEnd = i + 1;
- }
- if (extIdx >= 0) {
- if (code === ext.charCodeAt(extIdx)) {
- if (--extIdx === -1) {
- end = i;
- }
- } else {
- extIdx = -1;
- end = firstNonSlashEnd;
- }
- }
- }
- }
- if (start === end) {
- end = firstNonSlashEnd;
- } else if (end === -1) {
- end = path.length;
- }
- return path.slice(start, end);
- }
- for (i = path.length - 1; i >= 0; --i) {
- if (path.charCodeAt(i) === CHAR_FORWARD_SLASH) {
- if (!matchedSlash) {
- start = i + 1;
- break;
- }
- } else if (end === -1) {
- matchedSlash = false;
- end = i + 1;
- }
- }
- if (end === -1) {
- return "";
- }
- return path.slice(start, end);
- },
- extname(path) {
- validateString(path, "path");
- let startDot = -1;
- let startPart = 0;
- let end = -1;
- let matchedSlash = true;
- let preDotState = 0;
- for (let i = path.length - 1; i >= 0; --i) {
- const code = path.charCodeAt(i);
- if (code === CHAR_FORWARD_SLASH) {
- if (!matchedSlash) {
- startPart = i + 1;
- break;
- }
- continue;
- }
- if (end === -1) {
- matchedSlash = false;
- end = i + 1;
- }
- if (code === CHAR_DOT) {
- if (startDot === -1) {
- startDot = i;
- } else if (preDotState !== 1) {
- preDotState = 1;
- }
- } else if (startDot !== -1) {
- preDotState = -1;
- }
- }
- if (startDot === -1 || end === -1 || // We saw a non-dot character immediately before the dot
- preDotState === 0 || // The (right-most) trimmed path component is exactly '..'
- preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {
- return "";
- }
- return path.slice(startDot, end);
- },
- format: _format2.bind(null, "/"),
- parse(path) {
- validateString(path, "path");
- const ret = { root: "", dir: "", base: "", ext: "", name: "" };
- if (path.length === 0) {
- return ret;
- }
- const isAbsolute = path.charCodeAt(0) === CHAR_FORWARD_SLASH;
- let start;
- if (isAbsolute) {
- ret.root = "/";
- start = 1;
- } else {
- start = 0;
- }
- let startDot = -1;
- let startPart = 0;
- let end = -1;
- let matchedSlash = true;
- let i = path.length - 1;
- let preDotState = 0;
- for (; i >= start; --i) {
- const code = path.charCodeAt(i);
- if (code === CHAR_FORWARD_SLASH) {
- if (!matchedSlash) {
- startPart = i + 1;
- break;
- }
- continue;
- }
- if (end === -1) {
- matchedSlash = false;
- end = i + 1;
- }
- if (code === CHAR_DOT) {
- if (startDot === -1) {
- startDot = i;
- } else if (preDotState !== 1) {
- preDotState = 1;
- }
- } else if (startDot !== -1) {
- preDotState = -1;
- }
- }
- if (end !== -1) {
- const start2 = startPart === 0 && isAbsolute ? 1 : startPart;
- if (startDot === -1 || // We saw a non-dot character immediately before the dot
- preDotState === 0 || // The (right-most) trimmed path component is exactly '..'
- preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {
- ret.base = ret.name = path.slice(start2, end);
- } else {
- ret.name = path.slice(start2, startDot);
- ret.base = path.slice(start2, end);
- ret.ext = path.slice(startDot, end);
- }
- }
- if (startPart > 0) {
- ret.dir = path.slice(0, startPart - 1);
- } else if (isAbsolute) {
- ret.dir = "/";
- }
- return ret;
- },
- sep: "/",
- delimiter: ":",
- win32: null,
- posix: null
- };
- posix.win32 = win32.win32 = win32;
- posix.posix = win32.posix = posix;
- normalize = platformIsWin32 ? win32.normalize : posix.normalize;
- resolve = platformIsWin32 ? win32.resolve : posix.resolve;
- relative = platformIsWin32 ? win32.relative : posix.relative;
- dirname = platformIsWin32 ? win32.dirname : posix.dirname;
- basename = platformIsWin32 ? win32.basename : posix.basename;
- extname = platformIsWin32 ? win32.extname : posix.extname;
- sep = platformIsWin32 ? win32.sep : posix.sep;
- }
- });
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/base/common/uri.js
- function _validateUri(ret, _strict) {
- if (!ret.scheme && _strict) {
- throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${ret.authority}", path: "${ret.path}", query: "${ret.query}", fragment: "${ret.fragment}"}`);
- }
- if (ret.scheme && !_schemePattern.test(ret.scheme)) {
- throw new Error("[UriError]: Scheme contains illegal characters.");
- }
- if (ret.path) {
- if (ret.authority) {
- if (!_singleSlashStart.test(ret.path)) {
- throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character');
- }
- } else {
- if (_doubleSlashStart.test(ret.path)) {
- throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")');
- }
- }
- }
- }
- function _schemeFix(scheme, _strict) {
- if (!scheme && !_strict) {
- return "file";
- }
- return scheme;
- }
- function _referenceResolution(scheme, path) {
- switch (scheme) {
- case "https":
- case "http":
- case "file":
- if (!path) {
- path = _slash;
- } else if (path[0] !== _slash) {
- path = _slash + path;
- }
- break;
- }
- return path;
- }
- function encodeURIComponentFast(uriComponent, isPath, isAuthority) {
- let res = void 0;
- let nativeEncodePos = -1;
- for (let pos = 0; pos < uriComponent.length; pos++) {
- const code = uriComponent.charCodeAt(pos);
- if (code >= 97 && code <= 122 || code >= 65 && code <= 90 || code >= 48 && code <= 57 || code === 45 || code === 46 || code === 95 || code === 126 || isPath && code === 47 || isAuthority && code === 91 || isAuthority && code === 93 || isAuthority && code === 58) {
- if (nativeEncodePos !== -1) {
- res += encodeURIComponent(uriComponent.substring(nativeEncodePos, pos));
- nativeEncodePos = -1;
- }
- if (res !== void 0) {
- res += uriComponent.charAt(pos);
- }
- } else {
- if (res === void 0) {
- res = uriComponent.substr(0, pos);
- }
- const escaped = encodeTable[code];
- if (escaped !== void 0) {
- if (nativeEncodePos !== -1) {
- res += encodeURIComponent(uriComponent.substring(nativeEncodePos, pos));
- nativeEncodePos = -1;
- }
- res += escaped;
- } else if (nativeEncodePos === -1) {
- nativeEncodePos = pos;
- }
- }
- }
- if (nativeEncodePos !== -1) {
- res += encodeURIComponent(uriComponent.substring(nativeEncodePos));
- }
- return res !== void 0 ? res : uriComponent;
- }
- function encodeURIComponentMinimal(path) {
- let res = void 0;
- for (let pos = 0; pos < path.length; pos++) {
- const code = path.charCodeAt(pos);
- if (code === 35 || code === 63) {
- if (res === void 0) {
- res = path.substr(0, pos);
- }
- res += encodeTable[code];
- } else {
- if (res !== void 0) {
- res += path[pos];
- }
- }
- }
- return res !== void 0 ? res : path;
- }
- function uriToFsPath(uri, keepDriveLetterCasing) {
- let value;
- if (uri.authority && uri.path.length > 1 && uri.scheme === "file") {
- value = `//${uri.authority}${uri.path}`;
- } else if (uri.path.charCodeAt(0) === 47 && (uri.path.charCodeAt(1) >= 65 && uri.path.charCodeAt(1) <= 90 || uri.path.charCodeAt(1) >= 97 && uri.path.charCodeAt(1) <= 122) && uri.path.charCodeAt(2) === 58) {
- if (!keepDriveLetterCasing) {
- value = uri.path[1].toLowerCase() + uri.path.substr(2);
- } else {
- value = uri.path.substr(1);
- }
- } else {
- value = uri.path;
- }
- if (isWindows) {
- value = value.replace(/\//g, "\\");
- }
- return value;
- }
- function _asFormatted(uri, skipEncoding) {
- const encoder = !skipEncoding ? encodeURIComponentFast : encodeURIComponentMinimal;
- let res = "";
- let { scheme, authority, path, query, fragment } = uri;
- if (scheme) {
- res += scheme;
- res += ":";
- }
- if (authority || scheme === "file") {
- res += _slash;
- res += _slash;
- }
- if (authority) {
- let idx = authority.indexOf("@");
- if (idx !== -1) {
- const userinfo = authority.substr(0, idx);
- authority = authority.substr(idx + 1);
- idx = userinfo.lastIndexOf(":");
- if (idx === -1) {
- res += encoder(userinfo, false, false);
- } else {
- res += encoder(userinfo.substr(0, idx), false, false);
- res += ":";
- res += encoder(userinfo.substr(idx + 1), false, true);
- }
- res += "@";
- }
- authority = authority.toLowerCase();
- idx = authority.lastIndexOf(":");
- if (idx === -1) {
- res += encoder(authority, false, true);
- } else {
- res += encoder(authority.substr(0, idx), false, true);
- res += authority.substr(idx);
- }
- }
- if (path) {
- if (path.length >= 3 && path.charCodeAt(0) === 47 && path.charCodeAt(2) === 58) {
- const code = path.charCodeAt(1);
- if (code >= 65 && code <= 90) {
- path = `/${String.fromCharCode(code + 32)}:${path.substr(3)}`;
- }
- } else if (path.length >= 2 && path.charCodeAt(1) === 58) {
- const code = path.charCodeAt(0);
- if (code >= 65 && code <= 90) {
- path = `${String.fromCharCode(code + 32)}:${path.substr(2)}`;
- }
- }
- res += encoder(path, true, false);
- }
- if (query) {
- res += "?";
- res += encoder(query, false, false);
- }
- if (fragment) {
- res += "#";
- res += !skipEncoding ? encodeURIComponentFast(fragment, false, false) : fragment;
- }
- return res;
- }
- function decodeURIComponentGraceful(str) {
- try {
- return decodeURIComponent(str);
- } catch (_a3) {
- if (str.length > 3) {
- return str.substr(0, 3) + decodeURIComponentGraceful(str.substr(3));
- } else {
- return str;
- }
- }
- }
- function percentDecode(str) {
- if (!str.match(_rEncodedAsHex)) {
- return str;
- }
- return str.replace(_rEncodedAsHex, (match) => decodeURIComponentGraceful(match));
- }
- var _schemePattern, _singleSlashStart, _doubleSlashStart, _empty, _slash, _regexp, URI, _pathSepMarker, Uri, encodeTable, _rEncodedAsHex;
- var init_uri = __esm({
- "node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/base/common/uri.js"() {
- init_path();
- init_platform();
- _schemePattern = /^\w[\w\d+.-]*$/;
- _singleSlashStart = /^\//;
- _doubleSlashStart = /^\/\//;
- _empty = "";
- _slash = "/";
- _regexp = /^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;
- URI = class _URI {
- static isUri(thing) {
- if (thing instanceof _URI) {
- return true;
- }
- if (!thing) {
- return false;
- }
- return typeof thing.authority === "string" && typeof thing.fragment === "string" && typeof thing.path === "string" && typeof thing.query === "string" && typeof thing.scheme === "string" && typeof thing.fsPath === "string" && typeof thing.with === "function" && typeof thing.toString === "function";
- }
- /**
- * @internal
- */
- constructor(schemeOrData, authority, path, query, fragment, _strict = false) {
- if (typeof schemeOrData === "object") {
- this.scheme = schemeOrData.scheme || _empty;
- this.authority = schemeOrData.authority || _empty;
- this.path = schemeOrData.path || _empty;
- this.query = schemeOrData.query || _empty;
- this.fragment = schemeOrData.fragment || _empty;
- } else {
- this.scheme = _schemeFix(schemeOrData, _strict);
- this.authority = authority || _empty;
- this.path = _referenceResolution(this.scheme, path || _empty);
- this.query = query || _empty;
- this.fragment = fragment || _empty;
- _validateUri(this, _strict);
- }
- }
- // ---- filesystem path -----------------------
- /**
- * Returns a string representing the corresponding file system path of this URI.
- * Will handle UNC paths, normalizes windows drive letters to lower-case, and uses the
- * platform specific path separator.
- *
- * * Will *not* validate the path for invalid characters and semantics.
- * * Will *not* look at the scheme of this URI.
- * * The result shall *not* be used for display purposes but for accessing a file on disk.
- *
- *
- * The *difference* to `URI#path` is the use of the platform specific separator and the handling
- * of UNC paths. See the below sample of a file-uri with an authority (UNC path).
- *
- * ```ts
- const u = URI.parse('file://server/c$/folder/file.txt')
- u.authority === 'server'
- u.path === '/shares/c$/file.txt'
- u.fsPath === '\\server\c$\folder\file.txt'
- ```
- *
- * Using `URI#path` to read a file (using fs-apis) would not be enough because parts of the path,
- * namely the server name, would be missing. Therefore `URI#fsPath` exists - it's sugar to ease working
- * with URIs that represent files on disk (`file` scheme).
- */
- get fsPath() {
- return uriToFsPath(this, false);
- }
- // ---- modify to new -------------------------
- with(change) {
- if (!change) {
- return this;
- }
- let { scheme, authority, path, query, fragment } = change;
- if (scheme === void 0) {
- scheme = this.scheme;
- } else if (scheme === null) {
- scheme = _empty;
- }
- if (authority === void 0) {
- authority = this.authority;
- } else if (authority === null) {
- authority = _empty;
- }
- if (path === void 0) {
- path = this.path;
- } else if (path === null) {
- path = _empty;
- }
- if (query === void 0) {
- query = this.query;
- } else if (query === null) {
- query = _empty;
- }
- if (fragment === void 0) {
- fragment = this.fragment;
- } else if (fragment === null) {
- fragment = _empty;
- }
- if (scheme === this.scheme && authority === this.authority && path === this.path && query === this.query && fragment === this.fragment) {
- return this;
- }
- return new Uri(scheme, authority, path, query, fragment);
- }
- // ---- parse & validate ------------------------
- /**
- * Creates a new URI from a string, e.g. `http://www.example.com/some/path`,
- * `file:///usr/home`, or `scheme:with/path`.
- *
- * @param value A string which represents an URI (see `URI#toString`).
- */
- static parse(value, _strict = false) {
- const match = _regexp.exec(value);
- if (!match) {
- return new Uri(_empty, _empty, _empty, _empty, _empty);
- }
- return new Uri(match[2] || _empty, percentDecode(match[4] || _empty), percentDecode(match[5] || _empty), percentDecode(match[7] || _empty), percentDecode(match[9] || _empty), _strict);
- }
- /**
- * Creates a new URI from a file system path, e.g. `c:\my\files`,
- * `/usr/home`, or `\\server\share\some\path`.
- *
- * The *difference* between `URI#parse` and `URI#file` is that the latter treats the argument
- * as path, not as stringified-uri. E.g. `URI.file(path)` is **not the same as**
- * `URI.parse('file://' + path)` because the path might contain characters that are
- * interpreted (# and ?). See the following sample:
- * ```ts
- const good = URI.file('/coding/c#/project1');
- good.scheme === 'file';
- good.path === '/coding/c#/project1';
- good.fragment === '';
- const bad = URI.parse('file://' + '/coding/c#/project1');
- bad.scheme === 'file';
- bad.path === '/coding/c'; // path is now broken
- bad.fragment === '/project1';
- ```
- *
- * @param path A file system path (see `URI#fsPath`)
- */
- static file(path) {
- let authority = _empty;
- if (isWindows) {
- path = path.replace(/\\/g, _slash);
- }
- if (path[0] === _slash && path[1] === _slash) {
- const idx = path.indexOf(_slash, 2);
- if (idx === -1) {
- authority = path.substring(2);
- path = _slash;
- } else {
- authority = path.substring(2, idx);
- path = path.substring(idx) || _slash;
- }
- }
- return new Uri("file", authority, path, _empty, _empty);
- }
- static from(components) {
- const result = new Uri(components.scheme, components.authority, components.path, components.query, components.fragment);
- _validateUri(result, true);
- return result;
- }
- /**
- * Join a URI path with path fragments and normalizes the resulting path.
- *
- * @param uri The input URI.
- * @param pathFragment The path fragment to add to the URI path.
- * @returns The resulting URI.
- */
- static joinPath(uri, ...pathFragment) {
- if (!uri.path) {
- throw new Error(`[UriError]: cannot call joinPath on URI without path`);
- }
- let newPath;
- if (isWindows && uri.scheme === "file") {
- newPath = _URI.file(win32.join(uriToFsPath(uri, true), ...pathFragment)).path;
- } else {
- newPath = posix.join(uri.path, ...pathFragment);
- }
- return uri.with({ path: newPath });
- }
- // ---- printing/externalize ---------------------------
- /**
- * Creates a string representation for this URI. It's guaranteed that calling
- * `URI.parse` with the result of this function creates an URI which is equal
- * to this URI.
- *
- * * The result shall *not* be used for display purposes but for externalization or transport.
- * * The result will be encoded using the percentage encoding and encoding happens mostly
- * ignore the scheme-specific encoding rules.
- *
- * @param skipEncoding Do not encode the result, default is `false`
- */
- toString(skipEncoding = false) {
- return _asFormatted(this, skipEncoding);
- }
- toJSON() {
- return this;
- }
- static revive(data) {
- if (!data) {
- return data;
- } else if (data instanceof _URI) {
- return data;
- } else {
- const result = new Uri(data);
- result._formatted = data.external;
- result._fsPath = data._sep === _pathSepMarker ? data.fsPath : null;
- return result;
- }
- }
- };
- _pathSepMarker = isWindows ? 1 : void 0;
- Uri = class extends URI {
- constructor() {
- super(...arguments);
- this._formatted = null;
- this._fsPath = null;
- }
- get fsPath() {
- if (!this._fsPath) {
- this._fsPath = uriToFsPath(this, false);
- }
- return this._fsPath;
- }
- toString(skipEncoding = false) {
- if (!skipEncoding) {
- if (!this._formatted) {
- this._formatted = _asFormatted(this, false);
- }
- return this._formatted;
- } else {
- return _asFormatted(this, true);
- }
- }
- toJSON() {
- const res = {
- $mid: 1
- /* MarshalledId.Uri */
- };
- if (this._fsPath) {
- res.fsPath = this._fsPath;
- res._sep = _pathSepMarker;
- }
- if (this._formatted) {
- res.external = this._formatted;
- }
- if (this.path) {
- res.path = this.path;
- }
- if (this.scheme) {
- res.scheme = this.scheme;
- }
- if (this.authority) {
- res.authority = this.authority;
- }
- if (this.query) {
- res.query = this.query;
- }
- if (this.fragment) {
- res.fragment = this.fragment;
- }
- return res;
- }
- };
- encodeTable = {
- [
- 58
- /* CharCode.Colon */
- ]: "%3A",
- [
- 47
- /* CharCode.Slash */
- ]: "%2F",
- [
- 63
- /* CharCode.QuestionMark */
- ]: "%3F",
- [
- 35
- /* CharCode.Hash */
- ]: "%23",
- [
- 91
- /* CharCode.OpenSquareBracket */
- ]: "%5B",
- [
- 93
- /* CharCode.CloseSquareBracket */
- ]: "%5D",
- [
- 64
- /* CharCode.AtSign */
- ]: "%40",
- [
- 33
- /* CharCode.ExclamationMark */
- ]: "%21",
- [
- 36
- /* CharCode.DollarSign */
- ]: "%24",
- [
- 38
- /* CharCode.Ampersand */
- ]: "%26",
- [
- 39
- /* CharCode.SingleQuote */
- ]: "%27",
- [
- 40
- /* CharCode.OpenParen */
- ]: "%28",
- [
- 41
- /* CharCode.CloseParen */
- ]: "%29",
- [
- 42
- /* CharCode.Asterisk */
- ]: "%2A",
- [
- 43
- /* CharCode.Plus */
- ]: "%2B",
- [
- 44
- /* CharCode.Comma */
- ]: "%2C",
- [
- 59
- /* CharCode.Semicolon */
- ]: "%3B",
- [
- 61
- /* CharCode.Equals */
- ]: "%3D",
- [
- 32
- /* CharCode.Space */
- ]: "%20"
- };
- _rEncodedAsHex = /(%[0-9A-Za-z][0-9A-Za-z])+/g;
- }
- });
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/editor/common/core/position.js
- var Position;
- var init_position = __esm({
- "node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/editor/common/core/position.js"() {
- Position = class _Position {
- constructor(lineNumber, column) {
- this.lineNumber = lineNumber;
- this.column = column;
- }
- /**
- * Create a new position from this position.
- *
- * @param newLineNumber new line number
- * @param newColumn new column
- */
- with(newLineNumber = this.lineNumber, newColumn = this.column) {
- if (newLineNumber === this.lineNumber && newColumn === this.column) {
- return this;
- } else {
- return new _Position(newLineNumber, newColumn);
- }
- }
- /**
- * Derive a new position from this position.
- *
- * @param deltaLineNumber line number delta
- * @param deltaColumn column delta
- */
- delta(deltaLineNumber = 0, deltaColumn = 0) {
- return this.with(this.lineNumber + deltaLineNumber, this.column + deltaColumn);
- }
- /**
- * Test if this position equals other position
- */
- equals(other) {
- return _Position.equals(this, other);
- }
- /**
- * Test if position `a` equals position `b`
- */
- static equals(a, b) {
- if (!a && !b) {
- return true;
- }
- return !!a && !!b && a.lineNumber === b.lineNumber && a.column === b.column;
- }
- /**
- * Test if this position is before other position.
- * If the two positions are equal, the result will be false.
- */
- isBefore(other) {
- return _Position.isBefore(this, other);
- }
- /**
- * Test if position `a` is before position `b`.
- * If the two positions are equal, the result will be false.
- */
- static isBefore(a, b) {
- if (a.lineNumber < b.lineNumber) {
- return true;
- }
- if (b.lineNumber < a.lineNumber) {
- return false;
- }
- return a.column < b.column;
- }
- /**
- * Test if this position is before other position.
- * If the two positions are equal, the result will be true.
- */
- isBeforeOrEqual(other) {
- return _Position.isBeforeOrEqual(this, other);
- }
- /**
- * Test if position `a` is before position `b`.
- * If the two positions are equal, the result will be true.
- */
- static isBeforeOrEqual(a, b) {
- if (a.lineNumber < b.lineNumber) {
- return true;
- }
- if (b.lineNumber < a.lineNumber) {
- return false;
- }
- return a.column <= b.column;
- }
- /**
- * A function that compares positions, useful for sorting
- */
- static compare(a, b) {
- const aLineNumber = a.lineNumber | 0;
- const bLineNumber = b.lineNumber | 0;
- if (aLineNumber === bLineNumber) {
- const aColumn = a.column | 0;
- const bColumn = b.column | 0;
- return aColumn - bColumn;
- }
- return aLineNumber - bLineNumber;
- }
- /**
- * Clone this position.
- */
- clone() {
- return new _Position(this.lineNumber, this.column);
- }
- /**
- * Convert to a human-readable representation.
- */
- toString() {
- return "(" + this.lineNumber + "," + this.column + ")";
- }
- // ---
- /**
- * Create a `Position` from an `IPosition`.
- */
- static lift(pos) {
- return new _Position(pos.lineNumber, pos.column);
- }
- /**
- * Test if `obj` is an `IPosition`.
- */
- static isIPosition(obj) {
- return obj && typeof obj.lineNumber === "number" && typeof obj.column === "number";
- }
- };
- }
- });
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/editor/common/core/range.js
- var Range;
- var init_range = __esm({
- "node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/editor/common/core/range.js"() {
- init_position();
- Range = class _Range {
- constructor(startLineNumber, startColumn, endLineNumber, endColumn) {
- if (startLineNumber > endLineNumber || startLineNumber === endLineNumber && startColumn > endColumn) {
- this.startLineNumber = endLineNumber;
- this.startColumn = endColumn;
- this.endLineNumber = startLineNumber;
- this.endColumn = startColumn;
- } else {
- this.startLineNumber = startLineNumber;
- this.startColumn = startColumn;
- this.endLineNumber = endLineNumber;
- this.endColumn = endColumn;
- }
- }
- /**
- * Test if this range is empty.
- */
- isEmpty() {
- return _Range.isEmpty(this);
- }
- /**
- * Test if `range` is empty.
- */
- static isEmpty(range2) {
- return range2.startLineNumber === range2.endLineNumber && range2.startColumn === range2.endColumn;
- }
- /**
- * Test if position is in this range. If the position is at the edges, will return true.
- */
- containsPosition(position) {
- return _Range.containsPosition(this, position);
- }
- /**
- * Test if `position` is in `range`. If the position is at the edges, will return true.
- */
- static containsPosition(range2, position) {
- if (position.lineNumber < range2.startLineNumber || position.lineNumber > range2.endLineNumber) {
- return false;
- }
- if (position.lineNumber === range2.startLineNumber && position.column < range2.startColumn) {
- return false;
- }
- if (position.lineNumber === range2.endLineNumber && position.column > range2.endColumn) {
- return false;
- }
- return true;
- }
- /**
- * Test if `position` is in `range`. If the position is at the edges, will return false.
- * @internal
- */
- static strictContainsPosition(range2, position) {
- if (position.lineNumber < range2.startLineNumber || position.lineNumber > range2.endLineNumber) {
- return false;
- }
- if (position.lineNumber === range2.startLineNumber && position.column <= range2.startColumn) {
- return false;
- }
- if (position.lineNumber === range2.endLineNumber && position.column >= range2.endColumn) {
- return false;
- }
- return true;
- }
- /**
- * Test if range is in this range. If the range is equal to this range, will return true.
- */
- containsRange(range2) {
- return _Range.containsRange(this, range2);
- }
- /**
- * Test if `otherRange` is in `range`. If the ranges are equal, will return true.
- */
- static containsRange(range2, otherRange) {
- if (otherRange.startLineNumber < range2.startLineNumber || otherRange.endLineNumber < range2.startLineNumber) {
- return false;
- }
- if (otherRange.startLineNumber > range2.endLineNumber || otherRange.endLineNumber > range2.endLineNumber) {
- return false;
- }
- if (otherRange.startLineNumber === range2.startLineNumber && otherRange.startColumn < range2.startColumn) {
- return false;
- }
- if (otherRange.endLineNumber === range2.endLineNumber && otherRange.endColumn > range2.endColumn) {
- return false;
- }
- return true;
- }
- /**
- * Test if `range` is strictly in this range. `range` must start after and end before this range for the result to be true.
- */
- strictContainsRange(range2) {
- return _Range.strictContainsRange(this, range2);
- }
- /**
- * Test if `otherRange` is strictly in `range` (must start after, and end before). If the ranges are equal, will return false.
- */
- static strictContainsRange(range2, otherRange) {
- if (otherRange.startLineNumber < range2.startLineNumber || otherRange.endLineNumber < range2.startLineNumber) {
- return false;
- }
- if (otherRange.startLineNumber > range2.endLineNumber || otherRange.endLineNumber > range2.endLineNumber) {
- return false;
- }
- if (otherRange.startLineNumber === range2.startLineNumber && otherRange.startColumn <= range2.startColumn) {
- return false;
- }
- if (otherRange.endLineNumber === range2.endLineNumber && otherRange.endColumn >= range2.endColumn) {
- return false;
- }
- return true;
- }
- /**
- * A reunion of the two ranges.
- * The smallest position will be used as the start point, and the largest one as the end point.
- */
- plusRange(range2) {
- return _Range.plusRange(this, range2);
- }
- /**
- * A reunion of the two ranges.
- * The smallest position will be used as the start point, and the largest one as the end point.
- */
- static plusRange(a, b) {
- let startLineNumber;
- let startColumn;
- let endLineNumber;
- let endColumn;
- if (b.startLineNumber < a.startLineNumber) {
- startLineNumber = b.startLineNumber;
- startColumn = b.startColumn;
- } else if (b.startLineNumber === a.startLineNumber) {
- startLineNumber = b.startLineNumber;
- startColumn = Math.min(b.startColumn, a.startColumn);
- } else {
- startLineNumber = a.startLineNumber;
- startColumn = a.startColumn;
- }
- if (b.endLineNumber > a.endLineNumber) {
- endLineNumber = b.endLineNumber;
- endColumn = b.endColumn;
- } else if (b.endLineNumber === a.endLineNumber) {
- endLineNumber = b.endLineNumber;
- endColumn = Math.max(b.endColumn, a.endColumn);
- } else {
- endLineNumber = a.endLineNumber;
- endColumn = a.endColumn;
- }
- return new _Range(startLineNumber, startColumn, endLineNumber, endColumn);
- }
- /**
- * A intersection of the two ranges.
- */
- intersectRanges(range2) {
- return _Range.intersectRanges(this, range2);
- }
- /**
- * A intersection of the two ranges.
- */
- static intersectRanges(a, b) {
- let resultStartLineNumber = a.startLineNumber;
- let resultStartColumn = a.startColumn;
- let resultEndLineNumber = a.endLineNumber;
- let resultEndColumn = a.endColumn;
- const otherStartLineNumber = b.startLineNumber;
- const otherStartColumn = b.startColumn;
- const otherEndLineNumber = b.endLineNumber;
- const otherEndColumn = b.endColumn;
- if (resultStartLineNumber < otherStartLineNumber) {
- resultStartLineNumber = otherStartLineNumber;
- resultStartColumn = otherStartColumn;
- } else if (resultStartLineNumber === otherStartLineNumber) {
- resultStartColumn = Math.max(resultStartColumn, otherStartColumn);
- }
- if (resultEndLineNumber > otherEndLineNumber) {
- resultEndLineNumber = otherEndLineNumber;
- resultEndColumn = otherEndColumn;
- } else if (resultEndLineNumber === otherEndLineNumber) {
- resultEndColumn = Math.min(resultEndColumn, otherEndColumn);
- }
- if (resultStartLineNumber > resultEndLineNumber) {
- return null;
- }
- if (resultStartLineNumber === resultEndLineNumber && resultStartColumn > resultEndColumn) {
- return null;
- }
- return new _Range(resultStartLineNumber, resultStartColumn, resultEndLineNumber, resultEndColumn);
- }
- /**
- * Test if this range equals other.
- */
- equalsRange(other) {
- return _Range.equalsRange(this, other);
- }
- /**
- * Test if range `a` equals `b`.
- */
- static equalsRange(a, b) {
- if (!a && !b) {
- return true;
- }
- return !!a && !!b && a.startLineNumber === b.startLineNumber && a.startColumn === b.startColumn && a.endLineNumber === b.endLineNumber && a.endColumn === b.endColumn;
- }
- /**
- * Return the end position (which will be after or equal to the start position)
- */
- getEndPosition() {
- return _Range.getEndPosition(this);
- }
- /**
- * Return the end position (which will be after or equal to the start position)
- */
- static getEndPosition(range2) {
- return new Position(range2.endLineNumber, range2.endColumn);
- }
- /**
- * Return the start position (which will be before or equal to the end position)
- */
- getStartPosition() {
- return _Range.getStartPosition(this);
- }
- /**
- * Return the start position (which will be before or equal to the end position)
- */
- static getStartPosition(range2) {
- return new Position(range2.startLineNumber, range2.startColumn);
- }
- /**
- * Transform to a user presentable string representation.
- */
- toString() {
- return "[" + this.startLineNumber + "," + this.startColumn + " -> " + this.endLineNumber + "," + this.endColumn + "]";
- }
- /**
- * Create a new range using this range's start position, and using endLineNumber and endColumn as the end position.
- */
- setEndPosition(endLineNumber, endColumn) {
- return new _Range(this.startLineNumber, this.startColumn, endLineNumber, endColumn);
- }
- /**
- * Create a new range using this range's end position, and using startLineNumber and startColumn as the start position.
- */
- setStartPosition(startLineNumber, startColumn) {
- return new _Range(startLineNumber, startColumn, this.endLineNumber, this.endColumn);
- }
- /**
- * Create a new empty range using this range's start position.
- */
- collapseToStart() {
- return _Range.collapseToStart(this);
- }
- /**
- * Create a new empty range using this range's start position.
- */
- static collapseToStart(range2) {
- return new _Range(range2.startLineNumber, range2.startColumn, range2.startLineNumber, range2.startColumn);
- }
- /**
- * Create a new empty range using this range's end position.
- */
- collapseToEnd() {
- return _Range.collapseToEnd(this);
- }
- /**
- * Create a new empty range using this range's end position.
- */
- static collapseToEnd(range2) {
- return new _Range(range2.endLineNumber, range2.endColumn, range2.endLineNumber, range2.endColumn);
- }
- /**
- * Moves the range by the given amount of lines.
- */
- delta(lineCount) {
- return new _Range(this.startLineNumber + lineCount, this.startColumn, this.endLineNumber + lineCount, this.endColumn);
- }
- // ---
- static fromPositions(start, end = start) {
- return new _Range(start.lineNumber, start.column, end.lineNumber, end.column);
- }
- static lift(range2) {
- if (!range2) {
- return null;
- }
- return new _Range(range2.startLineNumber, range2.startColumn, range2.endLineNumber, range2.endColumn);
- }
- /**
- * Test if `obj` is an `IRange`.
- */
- static isIRange(obj) {
- return obj && typeof obj.startLineNumber === "number" && typeof obj.startColumn === "number" && typeof obj.endLineNumber === "number" && typeof obj.endColumn === "number";
- }
- /**
- * Test if the two ranges are touching in any way.
- */
- static areIntersectingOrTouching(a, b) {
- if (a.endLineNumber < b.startLineNumber || a.endLineNumber === b.startLineNumber && a.endColumn < b.startColumn) {
- return false;
- }
- if (b.endLineNumber < a.startLineNumber || b.endLineNumber === a.startLineNumber && b.endColumn < a.startColumn) {
- return false;
- }
- return true;
- }
- /**
- * Test if the two ranges are intersecting. If the ranges are touching it returns true.
- */
- static areIntersecting(a, b) {
- if (a.endLineNumber < b.startLineNumber || a.endLineNumber === b.startLineNumber && a.endColumn <= b.startColumn) {
- return false;
- }
- if (b.endLineNumber < a.startLineNumber || b.endLineNumber === a.startLineNumber && b.endColumn <= a.startColumn) {
- return false;
- }
- return true;
- }
- /**
- * A function that compares ranges, useful for sorting ranges
- * It will first compare ranges on the startPosition and then on the endPosition
- */
- static compareRangesUsingStarts(a, b) {
- if (a && b) {
- const aStartLineNumber = a.startLineNumber | 0;
- const bStartLineNumber = b.startLineNumber | 0;
- if (aStartLineNumber === bStartLineNumber) {
- const aStartColumn = a.startColumn | 0;
- const bStartColumn = b.startColumn | 0;
- if (aStartColumn === bStartColumn) {
- const aEndLineNumber = a.endLineNumber | 0;
- const bEndLineNumber = b.endLineNumber | 0;
- if (aEndLineNumber === bEndLineNumber) {
- const aEndColumn = a.endColumn | 0;
- const bEndColumn = b.endColumn | 0;
- return aEndColumn - bEndColumn;
- }
- return aEndLineNumber - bEndLineNumber;
- }
- return aStartColumn - bStartColumn;
- }
- return aStartLineNumber - bStartLineNumber;
- }
- const aExists = a ? 1 : 0;
- const bExists = b ? 1 : 0;
- return aExists - bExists;
- }
- /**
- * A function that compares ranges, useful for sorting ranges
- * It will first compare ranges on the endPosition and then on the startPosition
- */
- static compareRangesUsingEnds(a, b) {
- if (a.endLineNumber === b.endLineNumber) {
- if (a.endColumn === b.endColumn) {
- if (a.startLineNumber === b.startLineNumber) {
- return a.startColumn - b.startColumn;
- }
- return a.startLineNumber - b.startLineNumber;
- }
- return a.endColumn - b.endColumn;
- }
- return a.endLineNumber - b.endLineNumber;
- }
- /**
- * Test if the range spans multiple lines.
- */
- static spansMultipleLines(range2) {
- return range2.endLineNumber > range2.startLineNumber;
- }
- toJSON() {
- return this;
- }
- };
- }
- });
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/base/common/arrays.js
- function tail(array, n = 0) {
- return array[array.length - (1 + n)];
- }
- function tail2(arr) {
- if (arr.length === 0) {
- throw new Error("Invalid tail call");
- }
- return [arr.slice(0, arr.length - 1), arr[arr.length - 1]];
- }
- function equals2(one, other, itemEquals = (a, b) => a === b) {
- if (one === other) {
- return true;
- }
- if (!one || !other) {
- return false;
- }
- if (one.length !== other.length) {
- return false;
- }
- for (let i = 0, len = one.length; i < len; i++) {
- if (!itemEquals(one[i], other[i])) {
- return false;
- }
- }
- return true;
- }
- function removeFastWithoutKeepingOrder(array, index) {
- const last = array.length - 1;
- if (index < last) {
- array[index] = array[last];
- }
- array.pop();
- }
- function binarySearch(array, key, comparator) {
- return binarySearch2(array.length, (i) => comparator(array[i], key));
- }
- function binarySearch2(length, compareToKey) {
- let low = 0, high = length - 1;
- while (low <= high) {
- const mid = (low + high) / 2 | 0;
- const comp = compareToKey(mid);
- if (comp < 0) {
- low = mid + 1;
- } else if (comp > 0) {
- high = mid - 1;
- } else {
- return mid;
- }
- }
- return -(low + 1);
- }
- function findFirstInSorted(array, p) {
- let low = 0, high = array.length;
- if (high === 0) {
- return 0;
- }
- while (low < high) {
- const mid = Math.floor((low + high) / 2);
- if (p(array[mid])) {
- high = mid;
- } else {
- low = mid + 1;
- }
- }
- return low;
- }
- function quickSelect(nth, data, compare2) {
- nth = nth | 0;
- if (nth >= data.length) {
- throw new TypeError("invalid index");
- }
- const pivotValue = data[Math.floor(data.length * Math.random())];
- const lower = [];
- const higher = [];
- const pivots = [];
- for (const value of data) {
- const val = compare2(value, pivotValue);
- if (val < 0) {
- lower.push(value);
- } else if (val > 0) {
- higher.push(value);
- } else {
- pivots.push(value);
- }
- }
- if (nth < lower.length) {
- return quickSelect(nth, lower, compare2);
- } else if (nth < lower.length + pivots.length) {
- return pivots[0];
- } else {
- return quickSelect(nth - (lower.length + pivots.length), higher, compare2);
- }
- }
- function groupBy(data, compare2) {
- const result = [];
- let currentGroup = void 0;
- for (const element of data.slice(0).sort(compare2)) {
- if (!currentGroup || compare2(currentGroup[0], element) !== 0) {
- currentGroup = [element];
- result.push(currentGroup);
- } else {
- currentGroup.push(element);
- }
- }
- return result;
- }
- function coalesce(array) {
- return array.filter((e) => !!e);
- }
- function coalesceInPlace(array) {
- let to = 0;
- for (let i = 0; i < array.length; i++) {
- if (!!array[i]) {
- array[to] = array[i];
- to += 1;
- }
- }
- array.length = to;
- }
- function isFalsyOrEmpty(obj) {
- return !Array.isArray(obj) || obj.length === 0;
- }
- function isNonEmptyArray(obj) {
- return Array.isArray(obj) && obj.length > 0;
- }
- function distinct(array, keyFn = (value) => value) {
- const seen = /* @__PURE__ */ new Set();
- return array.filter((element) => {
- const key = keyFn(element);
- if (seen.has(key)) {
- return false;
- }
- seen.add(key);
- return true;
- });
- }
- function findLast(arr, predicate) {
- const idx = lastIndex(arr, predicate);
- if (idx === -1) {
- return void 0;
- }
- return arr[idx];
- }
- function lastIndex(array, fn) {
- for (let i = array.length - 1; i >= 0; i--) {
- const element = array[i];
- if (fn(element)) {
- return i;
- }
- }
- return -1;
- }
- function firstOrDefault(array, notFoundValue) {
- return array.length > 0 ? array[0] : notFoundValue;
- }
- function range(arg, to) {
- let from = typeof to === "number" ? arg : 0;
- if (typeof to === "number") {
- from = arg;
- } else {
- from = 0;
- to = arg;
- }
- const result = [];
- if (from <= to) {
- for (let i = from; i < to; i++) {
- result.push(i);
- }
- } else {
- for (let i = from; i > to; i--) {
- result.push(i);
- }
- }
- return result;
- }
- function arrayInsert(target, insertIndex, insertArr) {
- const before = target.slice(0, insertIndex);
- const after = target.slice(insertIndex);
- return before.concat(insertArr, after);
- }
- function pushToStart(arr, value) {
- const index = arr.indexOf(value);
- if (index > -1) {
- arr.splice(index, 1);
- arr.unshift(value);
- }
- }
- function pushToEnd(arr, value) {
- const index = arr.indexOf(value);
- if (index > -1) {
- arr.splice(index, 1);
- arr.push(value);
- }
- }
- function pushMany(arr, items) {
- for (const item of items) {
- arr.push(item);
- }
- }
- function asArray(x) {
- return Array.isArray(x) ? x : [x];
- }
- function mapFind(array, mapFn) {
- for (const value of array) {
- const mapped = mapFn(value);
- if (mapped !== void 0) {
- return mapped;
- }
- }
- return void 0;
- }
- function insertInto(array, start, newItems) {
- const startIdx = getActualStartIndex(array, start);
- const originalLength = array.length;
- const newItemsLength = newItems.length;
- array.length = originalLength + newItemsLength;
- for (let i = originalLength - 1; i >= startIdx; i--) {
- array[i + newItemsLength] = array[i];
- }
- for (let i = 0; i < newItemsLength; i++) {
- array[i + startIdx] = newItems[i];
- }
- }
- function splice(array, start, deleteCount, newItems) {
- const index = getActualStartIndex(array, start);
- const result = array.splice(index, deleteCount);
- insertInto(array, index, newItems);
- return result;
- }
- function getActualStartIndex(array, start) {
- return start < 0 ? Math.max(start + array.length, 0) : Math.min(start, array.length);
- }
- function compareBy(selector, comparator) {
- return (a, b) => comparator(selector(a), selector(b));
- }
- function findMaxBy(items, comparator) {
- if (items.length === 0) {
- return void 0;
- }
- let max = items[0];
- for (let i = 1; i < items.length; i++) {
- const item = items[i];
- if (comparator(item, max) > 0) {
- max = item;
- }
- }
- return max;
- }
- function findLastMaxBy(items, comparator) {
- if (items.length === 0) {
- return void 0;
- }
- let max = items[0];
- for (let i = 1; i < items.length; i++) {
- const item = items[i];
- if (comparator(item, max) >= 0) {
- max = item;
- }
- }
- return max;
- }
- function findMinBy(items, comparator) {
- return findMaxBy(items, (a, b) => -comparator(a, b));
- }
- var CompareResult, numberComparator, ArrayQueue, CallbackIterable;
- var init_arrays = __esm({
- "node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/base/common/arrays.js"() {
- (function(CompareResult2) {
- function isLessThan(result) {
- return result < 0;
- }
- CompareResult2.isLessThan = isLessThan;
- function isGreaterThan(result) {
- return result > 0;
- }
- CompareResult2.isGreaterThan = isGreaterThan;
- function isNeitherLessOrGreaterThan(result) {
- return result === 0;
- }
- CompareResult2.isNeitherLessOrGreaterThan = isNeitherLessOrGreaterThan;
- CompareResult2.greaterThan = 1;
- CompareResult2.lessThan = -1;
- CompareResult2.neitherLessOrGreaterThan = 0;
- })(CompareResult || (CompareResult = {}));
- numberComparator = (a, b) => a - b;
- ArrayQueue = class {
- /**
- * Constructs a queue that is backed by the given array. Runtime is O(1).
- */
- constructor(items) {
- this.items = items;
- this.firstIdx = 0;
- this.lastIdx = this.items.length - 1;
- }
- get length() {
- return this.lastIdx - this.firstIdx + 1;
- }
- /**
- * Consumes elements from the beginning of the queue as long as the predicate returns true.
- * If no elements were consumed, `null` is returned. Has a runtime of O(result.length).
- */
- takeWhile(predicate) {
- let startIdx = this.firstIdx;
- while (startIdx < this.items.length && predicate(this.items[startIdx])) {
- startIdx++;
- }
- const result = startIdx === this.firstIdx ? null : this.items.slice(this.firstIdx, startIdx);
- this.firstIdx = startIdx;
- return result;
- }
- /**
- * Consumes elements from the end of the queue as long as the predicate returns true.
- * If no elements were consumed, `null` is returned.
- * The result has the same order as the underlying array!
- */
- takeFromEndWhile(predicate) {
- let endIdx = this.lastIdx;
- while (endIdx >= 0 && predicate(this.items[endIdx])) {
- endIdx--;
- }
- const result = endIdx === this.lastIdx ? null : this.items.slice(endIdx + 1, this.lastIdx + 1);
- this.lastIdx = endIdx;
- return result;
- }
- peek() {
- if (this.length === 0) {
- return void 0;
- }
- return this.items[this.firstIdx];
- }
- dequeue() {
- const result = this.items[this.firstIdx];
- this.firstIdx++;
- return result;
- }
- takeCount(count) {
- const result = this.items.slice(this.firstIdx, this.firstIdx + count);
- this.firstIdx += count;
- return result;
- }
- };
- CallbackIterable = class _CallbackIterable {
- constructor(iterate) {
- this.iterate = iterate;
- }
- toArray() {
- const result = [];
- this.iterate((item) => {
- result.push(item);
- return true;
- });
- return result;
- }
- filter(predicate) {
- return new _CallbackIterable((cb) => this.iterate((item) => predicate(item) ? cb(item) : true));
- }
- map(mapFn) {
- return new _CallbackIterable((cb) => this.iterate((item) => cb(mapFn(item))));
- }
- findLast(predicate) {
- let result;
- this.iterate((item) => {
- if (predicate(item)) {
- result = item;
- }
- return true;
- });
- return result;
- }
- findLastMaxBy(comparator) {
- let result;
- let first = true;
- this.iterate((item) => {
- if (first || CompareResult.isGreaterThan(comparator(item, result))) {
- first = false;
- result = item;
- }
- return true;
- });
- return result;
- }
- };
- CallbackIterable.empty = new CallbackIterable((_callback) => {
- });
- }
- });
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/base/common/uint.js
- function toUint8(v) {
- if (v < 0) {
- return 0;
- }
- if (v > 255) {
- return 255;
- }
- return v | 0;
- }
- function toUint32(v) {
- if (v < 0) {
- return 0;
- }
- if (v > 4294967295) {
- return 4294967295;
- }
- return v | 0;
- }
- var init_uint = __esm({
- "node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/base/common/uint.js"() {
- }
- });
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/editor/common/core/wordHelper.js
- function createWordRegExp(allowInWords = "") {
- let source = "(-?\\d*\\.\\d\\w*)|([^";
- for (const sep2 of USUAL_WORD_SEPARATORS) {
- if (allowInWords.indexOf(sep2) >= 0) {
- continue;
- }
- source += "\\" + sep2;
- }
- source += "\\s]+)";
- return new RegExp(source, "g");
- }
- function ensureValidWordDefinition(wordDefinition) {
- let result = DEFAULT_WORD_REGEXP;
- if (wordDefinition && wordDefinition instanceof RegExp) {
- if (!wordDefinition.global) {
- let flags = "g";
- if (wordDefinition.ignoreCase) {
- flags += "i";
- }
- if (wordDefinition.multiline) {
- flags += "m";
- }
- if (wordDefinition.unicode) {
- flags += "u";
- }
- result = new RegExp(wordDefinition.source, flags);
- } else {
- result = wordDefinition;
- }
- }
- result.lastIndex = 0;
- return result;
- }
- function getWordAtText(column, wordDefinition, text, textOffset, config) {
- if (!config) {
- config = Iterable.first(_defaultConfig);
- }
- if (text.length > config.maxLen) {
- let start = column - config.maxLen / 2;
- if (start < 0) {
- start = 0;
- } else {
- textOffset += start;
- }
- text = text.substring(start, column + config.maxLen / 2);
- return getWordAtText(column, wordDefinition, text, textOffset, config);
- }
- const t1 = Date.now();
- const pos = column - 1 - textOffset;
- let prevRegexIndex = -1;
- let match = null;
- for (let i = 1; ; i++) {
- if (Date.now() - t1 >= config.timeBudget) {
- break;
- }
- const regexIndex = pos - config.windowSize * i;
- wordDefinition.lastIndex = Math.max(0, regexIndex);
- const thisMatch = _findRegexMatchEnclosingPosition(wordDefinition, text, pos, prevRegexIndex);
- if (!thisMatch && match) {
- break;
- }
- match = thisMatch;
- if (regexIndex <= 0) {
- break;
- }
- prevRegexIndex = regexIndex;
- }
- if (match) {
- const result = {
- word: match[0],
- startColumn: textOffset + 1 + match.index,
- endColumn: textOffset + 1 + match.index + match[0].length
- };
- wordDefinition.lastIndex = 0;
- return result;
- }
- return null;
- }
- function _findRegexMatchEnclosingPosition(wordDefinition, text, pos, stopPos) {
- let match;
- while (match = wordDefinition.exec(text)) {
- const matchIndex = match.index || 0;
- if (matchIndex <= pos && wordDefinition.lastIndex >= pos) {
- return match;
- } else if (stopPos > 0 && matchIndex > stopPos) {
- return null;
- }
- }
- return null;
- }
- var USUAL_WORD_SEPARATORS, DEFAULT_WORD_REGEXP, _defaultConfig;
- var init_wordHelper = __esm({
- "node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/editor/common/core/wordHelper.js"() {
- init_iterator();
- init_linkedList();
- USUAL_WORD_SEPARATORS = "`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?";
- DEFAULT_WORD_REGEXP = createWordRegExp();
- _defaultConfig = new LinkedList();
- _defaultConfig.unshift({
- maxLen: 1e3,
- windowSize: 15,
- timeBudget: 150
- });
- }
- });
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/editor/common/core/characterClassifier.js
- var CharacterClassifier, CharacterSet;
- var init_characterClassifier = __esm({
- "node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/editor/common/core/characterClassifier.js"() {
- init_uint();
- CharacterClassifier = class _CharacterClassifier {
- constructor(_defaultValue) {
- const defaultValue = toUint8(_defaultValue);
- this._defaultValue = defaultValue;
- this._asciiMap = _CharacterClassifier._createAsciiMap(defaultValue);
- this._map = /* @__PURE__ */ new Map();
- }
- static _createAsciiMap(defaultValue) {
- const asciiMap = new Uint8Array(256);
- asciiMap.fill(defaultValue);
- return asciiMap;
- }
- set(charCode, _value) {
- const value = toUint8(_value);
- if (charCode >= 0 && charCode < 256) {
- this._asciiMap[charCode] = value;
- } else {
- this._map.set(charCode, value);
- }
- }
- get(charCode) {
- if (charCode >= 0 && charCode < 256) {
- return this._asciiMap[charCode];
- } else {
- return this._map.get(charCode) || this._defaultValue;
- }
- }
- clear() {
- this._asciiMap.fill(this._defaultValue);
- this._map.clear();
- }
- };
- CharacterSet = class {
- constructor() {
- this._actual = new CharacterClassifier(
- 0
- /* Boolean.False */
- );
- }
- add(charCode) {
- this._actual.set(
- charCode,
- 1
- /* Boolean.True */
- );
- }
- has(charCode) {
- return this._actual.get(charCode) === 1;
- }
- clear() {
- return this._actual.clear();
- }
- };
- }
- });
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/base/common/cancellation.js
- var shortcutEvent, CancellationToken, MutableToken, CancellationTokenSource;
- var init_cancellation = __esm({
- "node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/base/common/cancellation.js"() {
- init_event();
- shortcutEvent = Object.freeze(function(callback, context) {
- const handle = setTimeout(callback.bind(context), 0);
- return { dispose() {
- clearTimeout(handle);
- } };
- });
- (function(CancellationToken2) {
- function isCancellationToken(thing) {
- if (thing === CancellationToken2.None || thing === CancellationToken2.Cancelled) {
- return true;
- }
- if (thing instanceof MutableToken) {
- return true;
- }
- if (!thing || typeof thing !== "object") {
- return false;
- }
- return typeof thing.isCancellationRequested === "boolean" && typeof thing.onCancellationRequested === "function";
- }
- CancellationToken2.isCancellationToken = isCancellationToken;
- CancellationToken2.None = Object.freeze({
- isCancellationRequested: false,
- onCancellationRequested: Event.None
- });
- CancellationToken2.Cancelled = Object.freeze({
- isCancellationRequested: true,
- onCancellationRequested: shortcutEvent
- });
- })(CancellationToken || (CancellationToken = {}));
- MutableToken = class {
- constructor() {
- this._isCancelled = false;
- this._emitter = null;
- }
- cancel() {
- if (!this._isCancelled) {
- this._isCancelled = true;
- if (this._emitter) {
- this._emitter.fire(void 0);
- this.dispose();
- }
- }
- }
- get isCancellationRequested() {
- return this._isCancelled;
- }
- get onCancellationRequested() {
- if (this._isCancelled) {
- return shortcutEvent;
- }
- if (!this._emitter) {
- this._emitter = new Emitter();
- }
- return this._emitter.event;
- }
- dispose() {
- if (this._emitter) {
- this._emitter.dispose();
- this._emitter = null;
- }
- }
- };
- CancellationTokenSource = class {
- constructor(parent) {
- this._token = void 0;
- this._parentListener = void 0;
- this._parentListener = parent && parent.onCancellationRequested(this.cancel, this);
- }
- get token() {
- if (!this._token) {
- this._token = new MutableToken();
- }
- return this._token;
- }
- cancel() {
- if (!this._token) {
- this._token = CancellationToken.Cancelled;
- } else if (this._token instanceof MutableToken) {
- this._token.cancel();
- }
- }
- dispose(cancel = false) {
- var _a3;
- if (cancel) {
- this.cancel();
- }
- (_a3 = this._parentListener) === null || _a3 === void 0 ? void 0 : _a3.dispose();
- if (!this._token) {
- this._token = CancellationToken.None;
- } else if (this._token instanceof MutableToken) {
- this._token.dispose();
- }
- }
- };
- }
- });
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/base/common/keyCodes.js
- function KeyChord(firstPart, secondPart) {
- const chordPart = (secondPart & 65535) << 16 >>> 0;
- return (firstPart | chordPart) >>> 0;
- }
- var KeyCodeStrMap, uiMap, userSettingsUSMap, userSettingsGeneralMap, EVENT_KEY_CODE_MAP, NATIVE_WINDOWS_KEY_CODE_TO_KEY_CODE, scanCodeIntToStr, scanCodeStrToInt, scanCodeLowerCaseStrToInt, IMMUTABLE_CODE_TO_KEY_CODE, IMMUTABLE_KEY_CODE_TO_CODE, KeyCodeUtils;
- var init_keyCodes = __esm({
- "node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/base/common/keyCodes.js"() {
- KeyCodeStrMap = class {
- constructor() {
- this._keyCodeToStr = [];
- this._strToKeyCode = /* @__PURE__ */ Object.create(null);
- }
- define(keyCode, str) {
- this._keyCodeToStr[keyCode] = str;
- this._strToKeyCode[str.toLowerCase()] = keyCode;
- }
- keyCodeToStr(keyCode) {
- return this._keyCodeToStr[keyCode];
- }
- strToKeyCode(str) {
- return this._strToKeyCode[str.toLowerCase()] || 0;
- }
- };
- uiMap = new KeyCodeStrMap();
- userSettingsUSMap = new KeyCodeStrMap();
- userSettingsGeneralMap = new KeyCodeStrMap();
- EVENT_KEY_CODE_MAP = new Array(230);
- NATIVE_WINDOWS_KEY_CODE_TO_KEY_CODE = {};
- scanCodeIntToStr = [];
- scanCodeStrToInt = /* @__PURE__ */ Object.create(null);
- scanCodeLowerCaseStrToInt = /* @__PURE__ */ Object.create(null);
- IMMUTABLE_CODE_TO_KEY_CODE = [];
- IMMUTABLE_KEY_CODE_TO_CODE = [];
- for (let i = 0; i <= 193; i++) {
- IMMUTABLE_CODE_TO_KEY_CODE[i] = -1;
- }
- for (let i = 0; i <= 132; i++) {
- IMMUTABLE_KEY_CODE_TO_CODE[i] = -1;
- }
- (function() {
- const empty = "";
- const mappings = [
- // immutable, scanCode, scanCodeStr, keyCode, keyCodeStr, eventKeyCode, vkey, usUserSettingsLabel, generalUserSettingsLabel
- [1, 0, "None", 0, "unknown", 0, "VK_UNKNOWN", empty, empty],
- [1, 1, "Hyper", 0, empty, 0, empty, empty, empty],
- [1, 2, "Super", 0, empty, 0, empty, empty, empty],
- [1, 3, "Fn", 0, empty, 0, empty, empty, empty],
- [1, 4, "FnLock", 0, empty, 0, empty, empty, empty],
- [1, 5, "Suspend", 0, empty, 0, empty, empty, empty],
- [1, 6, "Resume", 0, empty, 0, empty, empty, empty],
- [1, 7, "Turbo", 0, empty, 0, empty, empty, empty],
- [1, 8, "Sleep", 0, empty, 0, "VK_SLEEP", empty, empty],
- [1, 9, "WakeUp", 0, empty, 0, empty, empty, empty],
- [0, 10, "KeyA", 31, "A", 65, "VK_A", empty, empty],
- [0, 11, "KeyB", 32, "B", 66, "VK_B", empty, empty],
- [0, 12, "KeyC", 33, "C", 67, "VK_C", empty, empty],
- [0, 13, "KeyD", 34, "D", 68, "VK_D", empty, empty],
- [0, 14, "KeyE", 35, "E", 69, "VK_E", empty, empty],
- [0, 15, "KeyF", 36, "F", 70, "VK_F", empty, empty],
- [0, 16, "KeyG", 37, "G", 71, "VK_G", empty, empty],
- [0, 17, "KeyH", 38, "H", 72, "VK_H", empty, empty],
- [0, 18, "KeyI", 39, "I", 73, "VK_I", empty, empty],
- [0, 19, "KeyJ", 40, "J", 74, "VK_J", empty, empty],
- [0, 20, "KeyK", 41, "K", 75, "VK_K", empty, empty],
- [0, 21, "KeyL", 42, "L", 76, "VK_L", empty, empty],
- [0, 22, "KeyM", 43, "M", 77, "VK_M", empty, empty],
- [0, 23, "KeyN", 44, "N", 78, "VK_N", empty, empty],
- [0, 24, "KeyO", 45, "O", 79, "VK_O", empty, empty],
- [0, 25, "KeyP", 46, "P", 80, "VK_P", empty, empty],
- [0, 26, "KeyQ", 47, "Q", 81, "VK_Q", empty, empty],
- [0, 27, "KeyR", 48, "R", 82, "VK_R", empty, empty],
- [0, 28, "KeyS", 49, "S", 83, "VK_S", empty, empty],
- [0, 29, "KeyT", 50, "T", 84, "VK_T", empty, empty],
- [0, 30, "KeyU", 51, "U", 85, "VK_U", empty, empty],
- [0, 31, "KeyV", 52, "V", 86, "VK_V", empty, empty],
- [0, 32, "KeyW", 53, "W", 87, "VK_W", empty, empty],
- [0, 33, "KeyX", 54, "X", 88, "VK_X", empty, empty],
- [0, 34, "KeyY", 55, "Y", 89, "VK_Y", empty, empty],
- [0, 35, "KeyZ", 56, "Z", 90, "VK_Z", empty, empty],
- [0, 36, "Digit1", 22, "1", 49, "VK_1", empty, empty],
- [0, 37, "Digit2", 23, "2", 50, "VK_2", empty, empty],
- [0, 38, "Digit3", 24, "3", 51, "VK_3", empty, empty],
- [0, 39, "Digit4", 25, "4", 52, "VK_4", empty, empty],
- [0, 40, "Digit5", 26, "5", 53, "VK_5", empty, empty],
- [0, 41, "Digit6", 27, "6", 54, "VK_6", empty, empty],
- [0, 42, "Digit7", 28, "7", 55, "VK_7", empty, empty],
- [0, 43, "Digit8", 29, "8", 56, "VK_8", empty, empty],
- [0, 44, "Digit9", 30, "9", 57, "VK_9", empty, empty],
- [0, 45, "Digit0", 21, "0", 48, "VK_0", empty, empty],
- [1, 46, "Enter", 3, "Enter", 13, "VK_RETURN", empty, empty],
- [1, 47, "Escape", 9, "Escape", 27, "VK_ESCAPE", empty, empty],
- [1, 48, "Backspace", 1, "Backspace", 8, "VK_BACK", empty, empty],
- [1, 49, "Tab", 2, "Tab", 9, "VK_TAB", empty, empty],
- [1, 50, "Space", 10, "Space", 32, "VK_SPACE", empty, empty],
- [0, 51, "Minus", 88, "-", 189, "VK_OEM_MINUS", "-", "OEM_MINUS"],
- [0, 52, "Equal", 86, "=", 187, "VK_OEM_PLUS", "=", "OEM_PLUS"],
- [0, 53, "BracketLeft", 92, "[", 219, "VK_OEM_4", "[", "OEM_4"],
- [0, 54, "BracketRight", 94, "]", 221, "VK_OEM_6", "]", "OEM_6"],
- [0, 55, "Backslash", 93, "\\", 220, "VK_OEM_5", "\\", "OEM_5"],
- [0, 56, "IntlHash", 0, empty, 0, empty, empty, empty],
- [0, 57, "Semicolon", 85, ";", 186, "VK_OEM_1", ";", "OEM_1"],
- [0, 58, "Quote", 95, "'", 222, "VK_OEM_7", "'", "OEM_7"],
- [0, 59, "Backquote", 91, "`", 192, "VK_OEM_3", "`", "OEM_3"],
- [0, 60, "Comma", 87, ",", 188, "VK_OEM_COMMA", ",", "OEM_COMMA"],
- [0, 61, "Period", 89, ".", 190, "VK_OEM_PERIOD", ".", "OEM_PERIOD"],
- [0, 62, "Slash", 90, "/", 191, "VK_OEM_2", "/", "OEM_2"],
- [1, 63, "CapsLock", 8, "CapsLock", 20, "VK_CAPITAL", empty, empty],
- [1, 64, "F1", 59, "F1", 112, "VK_F1", empty, empty],
- [1, 65, "F2", 60, "F2", 113, "VK_F2", empty, empty],
- [1, 66, "F3", 61, "F3", 114, "VK_F3", empty, empty],
- [1, 67, "F4", 62, "F4", 115, "VK_F4", empty, empty],
- [1, 68, "F5", 63, "F5", 116, "VK_F5", empty, empty],
- [1, 69, "F6", 64, "F6", 117, "VK_F6", empty, empty],
- [1, 70, "F7", 65, "F7", 118, "VK_F7", empty, empty],
- [1, 71, "F8", 66, "F8", 119, "VK_F8", empty, empty],
- [1, 72, "F9", 67, "F9", 120, "VK_F9", empty, empty],
- [1, 73, "F10", 68, "F10", 121, "VK_F10", empty, empty],
- [1, 74, "F11", 69, "F11", 122, "VK_F11", empty, empty],
- [1, 75, "F12", 70, "F12", 123, "VK_F12", empty, empty],
- [1, 76, "PrintScreen", 0, empty, 0, empty, empty, empty],
- [1, 77, "ScrollLock", 84, "ScrollLock", 145, "VK_SCROLL", empty, empty],
- [1, 78, "Pause", 7, "PauseBreak", 19, "VK_PAUSE", empty, empty],
- [1, 79, "Insert", 19, "Insert", 45, "VK_INSERT", empty, empty],
- [1, 80, "Home", 14, "Home", 36, "VK_HOME", empty, empty],
- [1, 81, "PageUp", 11, "PageUp", 33, "VK_PRIOR", empty, empty],
- [1, 82, "Delete", 20, "Delete", 46, "VK_DELETE", empty, empty],
- [1, 83, "End", 13, "End", 35, "VK_END", empty, empty],
- [1, 84, "PageDown", 12, "PageDown", 34, "VK_NEXT", empty, empty],
- [1, 85, "ArrowRight", 17, "RightArrow", 39, "VK_RIGHT", "Right", empty],
- [1, 86, "ArrowLeft", 15, "LeftArrow", 37, "VK_LEFT", "Left", empty],
- [1, 87, "ArrowDown", 18, "DownArrow", 40, "VK_DOWN", "Down", empty],
- [1, 88, "ArrowUp", 16, "UpArrow", 38, "VK_UP", "Up", empty],
- [1, 89, "NumLock", 83, "NumLock", 144, "VK_NUMLOCK", empty, empty],
- [1, 90, "NumpadDivide", 113, "NumPad_Divide", 111, "VK_DIVIDE", empty, empty],
- [1, 91, "NumpadMultiply", 108, "NumPad_Multiply", 106, "VK_MULTIPLY", empty, empty],
- [1, 92, "NumpadSubtract", 111, "NumPad_Subtract", 109, "VK_SUBTRACT", empty, empty],
- [1, 93, "NumpadAdd", 109, "NumPad_Add", 107, "VK_ADD", empty, empty],
- [1, 94, "NumpadEnter", 3, empty, 0, empty, empty, empty],
- [1, 95, "Numpad1", 99, "NumPad1", 97, "VK_NUMPAD1", empty, empty],
- [1, 96, "Numpad2", 100, "NumPad2", 98, "VK_NUMPAD2", empty, empty],
- [1, 97, "Numpad3", 101, "NumPad3", 99, "VK_NUMPAD3", empty, empty],
- [1, 98, "Numpad4", 102, "NumPad4", 100, "VK_NUMPAD4", empty, empty],
- [1, 99, "Numpad5", 103, "NumPad5", 101, "VK_NUMPAD5", empty, empty],
- [1, 100, "Numpad6", 104, "NumPad6", 102, "VK_NUMPAD6", empty, empty],
- [1, 101, "Numpad7", 105, "NumPad7", 103, "VK_NUMPAD7", empty, empty],
- [1, 102, "Numpad8", 106, "NumPad8", 104, "VK_NUMPAD8", empty, empty],
- [1, 103, "Numpad9", 107, "NumPad9", 105, "VK_NUMPAD9", empty, empty],
- [1, 104, "Numpad0", 98, "NumPad0", 96, "VK_NUMPAD0", empty, empty],
- [1, 105, "NumpadDecimal", 112, "NumPad_Decimal", 110, "VK_DECIMAL", empty, empty],
- [0, 106, "IntlBackslash", 97, "OEM_102", 226, "VK_OEM_102", empty, empty],
- [1, 107, "ContextMenu", 58, "ContextMenu", 93, empty, empty, empty],
- [1, 108, "Power", 0, empty, 0, empty, empty, empty],
- [1, 109, "NumpadEqual", 0, empty, 0, empty, empty, empty],
- [1, 110, "F13", 71, "F13", 124, "VK_F13", empty, empty],
- [1, 111, "F14", 72, "F14", 125, "VK_F14", empty, empty],
- [1, 112, "F15", 73, "F15", 126, "VK_F15", empty, empty],
- [1, 113, "F16", 74, "F16", 127, "VK_F16", empty, empty],
- [1, 114, "F17", 75, "F17", 128, "VK_F17", empty, empty],
- [1, 115, "F18", 76, "F18", 129, "VK_F18", empty, empty],
- [1, 116, "F19", 77, "F19", 130, "VK_F19", empty, empty],
- [1, 117, "F20", 78, "F20", 0, "VK_F20", empty, empty],
- [1, 118, "F21", 79, "F21", 0, "VK_F21", empty, empty],
- [1, 119, "F22", 80, "F22", 0, "VK_F22", empty, empty],
- [1, 120, "F23", 81, "F23", 0, "VK_F23", empty, empty],
- [1, 121, "F24", 82, "F24", 0, "VK_F24", empty, empty],
- [1, 122, "Open", 0, empty, 0, empty, empty, empty],
- [1, 123, "Help", 0, empty, 0, empty, empty, empty],
- [1, 124, "Select", 0, empty, 0, empty, empty, empty],
- [1, 125, "Again", 0, empty, 0, empty, empty, empty],
- [1, 126, "Undo", 0, empty, 0, empty, empty, empty],
- [1, 127, "Cut", 0, empty, 0, empty, empty, empty],
- [1, 128, "Copy", 0, empty, 0, empty, empty, empty],
- [1, 129, "Paste", 0, empty, 0, empty, empty, empty],
- [1, 130, "Find", 0, empty, 0, empty, empty, empty],
- [1, 131, "AudioVolumeMute", 117, "AudioVolumeMute", 173, "VK_VOLUME_MUTE", empty, empty],
- [1, 132, "AudioVolumeUp", 118, "AudioVolumeUp", 175, "VK_VOLUME_UP", empty, empty],
- [1, 133, "AudioVolumeDown", 119, "AudioVolumeDown", 174, "VK_VOLUME_DOWN", empty, empty],
- [1, 134, "NumpadComma", 110, "NumPad_Separator", 108, "VK_SEPARATOR", empty, empty],
- [0, 135, "IntlRo", 115, "ABNT_C1", 193, "VK_ABNT_C1", empty, empty],
- [1, 136, "KanaMode", 0, empty, 0, empty, empty, empty],
- [0, 137, "IntlYen", 0, empty, 0, empty, empty, empty],
- [1, 138, "Convert", 0, empty, 0, empty, empty, empty],
- [1, 139, "NonConvert", 0, empty, 0, empty, empty, empty],
- [1, 140, "Lang1", 0, empty, 0, empty, empty, empty],
- [1, 141, "Lang2", 0, empty, 0, empty, empty, empty],
- [1, 142, "Lang3", 0, empty, 0, empty, empty, empty],
- [1, 143, "Lang4", 0, empty, 0, empty, empty, empty],
- [1, 144, "Lang5", 0, empty, 0, empty, empty, empty],
- [1, 145, "Abort", 0, empty, 0, empty, empty, empty],
- [1, 146, "Props", 0, empty, 0, empty, empty, empty],
- [1, 147, "NumpadParenLeft", 0, empty, 0, empty, empty, empty],
- [1, 148, "NumpadParenRight", 0, empty, 0, empty, empty, empty],
- [1, 149, "NumpadBackspace", 0, empty, 0, empty, empty, empty],
- [1, 150, "NumpadMemoryStore", 0, empty, 0, empty, empty, empty],
- [1, 151, "NumpadMemoryRecall", 0, empty, 0, empty, empty, empty],
- [1, 152, "NumpadMemoryClear", 0, empty, 0, empty, empty, empty],
- [1, 153, "NumpadMemoryAdd", 0, empty, 0, empty, empty, empty],
- [1, 154, "NumpadMemorySubtract", 0, empty, 0, empty, empty, empty],
- [1, 155, "NumpadClear", 131, "Clear", 12, "VK_CLEAR", empty, empty],
- [1, 156, "NumpadClearEntry", 0, empty, 0, empty, empty, empty],
- [1, 0, empty, 5, "Ctrl", 17, "VK_CONTROL", empty, empty],
- [1, 0, empty, 4, "Shift", 16, "VK_SHIFT", empty, empty],
- [1, 0, empty, 6, "Alt", 18, "VK_MENU", empty, empty],
- [1, 0, empty, 57, "Meta", 91, "VK_COMMAND", empty, empty],
- [1, 157, "ControlLeft", 5, empty, 0, "VK_LCONTROL", empty, empty],
- [1, 158, "ShiftLeft", 4, empty, 0, "VK_LSHIFT", empty, empty],
- [1, 159, "AltLeft", 6, empty, 0, "VK_LMENU", empty, empty],
- [1, 160, "MetaLeft", 57, empty, 0, "VK_LWIN", empty, empty],
- [1, 161, "ControlRight", 5, empty, 0, "VK_RCONTROL", empty, empty],
- [1, 162, "ShiftRight", 4, empty, 0, "VK_RSHIFT", empty, empty],
- [1, 163, "AltRight", 6, empty, 0, "VK_RMENU", empty, empty],
- [1, 164, "MetaRight", 57, empty, 0, "VK_RWIN", empty, empty],
- [1, 165, "BrightnessUp", 0, empty, 0, empty, empty, empty],
- [1, 166, "BrightnessDown", 0, empty, 0, empty, empty, empty],
- [1, 167, "MediaPlay", 0, empty, 0, empty, empty, empty],
- [1, 168, "MediaRecord", 0, empty, 0, empty, empty, empty],
- [1, 169, "MediaFastForward", 0, empty, 0, empty, empty, empty],
- [1, 170, "MediaRewind", 0, empty, 0, empty, empty, empty],
- [1, 171, "MediaTrackNext", 124, "MediaTrackNext", 176, "VK_MEDIA_NEXT_TRACK", empty, empty],
- [1, 172, "MediaTrackPrevious", 125, "MediaTrackPrevious", 177, "VK_MEDIA_PREV_TRACK", empty, empty],
- [1, 173, "MediaStop", 126, "MediaStop", 178, "VK_MEDIA_STOP", empty, empty],
- [1, 174, "Eject", 0, empty, 0, empty, empty, empty],
- [1, 175, "MediaPlayPause", 127, "MediaPlayPause", 179, "VK_MEDIA_PLAY_PAUSE", empty, empty],
- [1, 176, "MediaSelect", 128, "LaunchMediaPlayer", 181, "VK_MEDIA_LAUNCH_MEDIA_SELECT", empty, empty],
- [1, 177, "LaunchMail", 129, "LaunchMail", 180, "VK_MEDIA_LAUNCH_MAIL", empty, empty],
- [1, 178, "LaunchApp2", 130, "LaunchApp2", 183, "VK_MEDIA_LAUNCH_APP2", empty, empty],
- [1, 179, "LaunchApp1", 0, empty, 0, "VK_MEDIA_LAUNCH_APP1", empty, empty],
- [1, 180, "SelectTask", 0, empty, 0, empty, empty, empty],
- [1, 181, "LaunchScreenSaver", 0, empty, 0, empty, empty, empty],
- [1, 182, "BrowserSearch", 120, "BrowserSearch", 170, "VK_BROWSER_SEARCH", empty, empty],
- [1, 183, "BrowserHome", 121, "BrowserHome", 172, "VK_BROWSER_HOME", empty, empty],
- [1, 184, "BrowserBack", 122, "BrowserBack", 166, "VK_BROWSER_BACK", empty, empty],
- [1, 185, "BrowserForward", 123, "BrowserForward", 167, "VK_BROWSER_FORWARD", empty, empty],
- [1, 186, "BrowserStop", 0, empty, 0, "VK_BROWSER_STOP", empty, empty],
- [1, 187, "BrowserRefresh", 0, empty, 0, "VK_BROWSER_REFRESH", empty, empty],
- [1, 188, "BrowserFavorites", 0, empty, 0, "VK_BROWSER_FAVORITES", empty, empty],
- [1, 189, "ZoomToggle", 0, empty, 0, empty, empty, empty],
- [1, 190, "MailReply", 0, empty, 0, empty, empty, empty],
- [1, 191, "MailForward", 0, empty, 0, empty, empty, empty],
- [1, 192, "MailSend", 0, empty, 0, empty, empty, empty],
- // See https://lists.w3.org/Archives/Public/www-dom/2010JulSep/att-0182/keyCode-spec.html
- // If an Input Method Editor is processing key input and the event is keydown, return 229.
- [1, 0, empty, 114, "KeyInComposition", 229, empty, empty, empty],
- [1, 0, empty, 116, "ABNT_C2", 194, "VK_ABNT_C2", empty, empty],
- [1, 0, empty, 96, "OEM_8", 223, "VK_OEM_8", empty, empty],
- [1, 0, empty, 0, empty, 0, "VK_KANA", empty, empty],
- [1, 0, empty, 0, empty, 0, "VK_HANGUL", empty, empty],
- [1, 0, empty, 0, empty, 0, "VK_JUNJA", empty, empty],
- [1, 0, empty, 0, empty, 0, "VK_FINAL", empty, empty],
- [1, 0, empty, 0, empty, 0, "VK_HANJA", empty, empty],
- [1, 0, empty, 0, empty, 0, "VK_KANJI", empty, empty],
- [1, 0, empty, 0, empty, 0, "VK_CONVERT", empty, empty],
- [1, 0, empty, 0, empty, 0, "VK_NONCONVERT", empty, empty],
- [1, 0, empty, 0, empty, 0, "VK_ACCEPT", empty, empty],
- [1, 0, empty, 0, empty, 0, "VK_MODECHANGE", empty, empty],
- [1, 0, empty, 0, empty, 0, "VK_SELECT", empty, empty],
- [1, 0, empty, 0, empty, 0, "VK_PRINT", empty, empty],
- [1, 0, empty, 0, empty, 0, "VK_EXECUTE", empty, empty],
- [1, 0, empty, 0, empty, 0, "VK_SNAPSHOT", empty, empty],
- [1, 0, empty, 0, empty, 0, "VK_HELP", empty, empty],
- [1, 0, empty, 0, empty, 0, "VK_APPS", empty, empty],
- [1, 0, empty, 0, empty, 0, "VK_PROCESSKEY", empty, empty],
- [1, 0, empty, 0, empty, 0, "VK_PACKET", empty, empty],
- [1, 0, empty, 0, empty, 0, "VK_DBE_SBCSCHAR", empty, empty],
- [1, 0, empty, 0, empty, 0, "VK_DBE_DBCSCHAR", empty, empty],
- [1, 0, empty, 0, empty, 0, "VK_ATTN", empty, empty],
- [1, 0, empty, 0, empty, 0, "VK_CRSEL", empty, empty],
- [1, 0, empty, 0, empty, 0, "VK_EXSEL", empty, empty],
- [1, 0, empty, 0, empty, 0, "VK_EREOF", empty, empty],
- [1, 0, empty, 0, empty, 0, "VK_PLAY", empty, empty],
- [1, 0, empty, 0, empty, 0, "VK_ZOOM", empty, empty],
- [1, 0, empty, 0, empty, 0, "VK_NONAME", empty, empty],
- [1, 0, empty, 0, empty, 0, "VK_PA1", empty, empty],
- [1, 0, empty, 0, empty, 0, "VK_OEM_CLEAR", empty, empty]
- ];
- const seenKeyCode = [];
- const seenScanCode = [];
- for (const mapping of mappings) {
- const [immutable, scanCode, scanCodeStr, keyCode, keyCodeStr, eventKeyCode, vkey, usUserSettingsLabel, generalUserSettingsLabel] = mapping;
- if (!seenScanCode[scanCode]) {
- seenScanCode[scanCode] = true;
- scanCodeIntToStr[scanCode] = scanCodeStr;
- scanCodeStrToInt[scanCodeStr] = scanCode;
- scanCodeLowerCaseStrToInt[scanCodeStr.toLowerCase()] = scanCode;
- if (immutable) {
- IMMUTABLE_CODE_TO_KEY_CODE[scanCode] = keyCode;
- if (keyCode !== 0 && keyCode !== 3 && keyCode !== 5 && keyCode !== 4 && keyCode !== 6 && keyCode !== 57) {
- IMMUTABLE_KEY_CODE_TO_CODE[keyCode] = scanCode;
- }
- }
- }
- if (!seenKeyCode[keyCode]) {
- seenKeyCode[keyCode] = true;
- if (!keyCodeStr) {
- throw new Error(`String representation missing for key code ${keyCode} around scan code ${scanCodeStr}`);
- }
- uiMap.define(keyCode, keyCodeStr);
- userSettingsUSMap.define(keyCode, usUserSettingsLabel || keyCodeStr);
- userSettingsGeneralMap.define(keyCode, generalUserSettingsLabel || usUserSettingsLabel || keyCodeStr);
- }
- if (eventKeyCode) {
- EVENT_KEY_CODE_MAP[eventKeyCode] = keyCode;
- }
- if (vkey) {
- NATIVE_WINDOWS_KEY_CODE_TO_KEY_CODE[vkey] = keyCode;
- }
- }
- IMMUTABLE_KEY_CODE_TO_CODE[
- 3
- /* KeyCode.Enter */
- ] = 46;
- })();
- (function(KeyCodeUtils2) {
- function toString(keyCode) {
- return uiMap.keyCodeToStr(keyCode);
- }
- KeyCodeUtils2.toString = toString;
- function fromString(key) {
- return uiMap.strToKeyCode(key);
- }
- KeyCodeUtils2.fromString = fromString;
- function toUserSettingsUS(keyCode) {
- return userSettingsUSMap.keyCodeToStr(keyCode);
- }
- KeyCodeUtils2.toUserSettingsUS = toUserSettingsUS;
- function toUserSettingsGeneral(keyCode) {
- return userSettingsGeneralMap.keyCodeToStr(keyCode);
- }
- KeyCodeUtils2.toUserSettingsGeneral = toUserSettingsGeneral;
- function fromUserSettings(key) {
- return userSettingsUSMap.strToKeyCode(key) || userSettingsGeneralMap.strToKeyCode(key);
- }
- KeyCodeUtils2.fromUserSettings = fromUserSettings;
- function toElectronAccelerator(keyCode) {
- if (keyCode >= 98 && keyCode <= 113) {
- return null;
- }
- switch (keyCode) {
- case 16:
- return "Up";
- case 18:
- return "Down";
- case 15:
- return "Left";
- case 17:
- return "Right";
- }
- return uiMap.keyCodeToStr(keyCode);
- }
- KeyCodeUtils2.toElectronAccelerator = toElectronAccelerator;
- })(KeyCodeUtils || (KeyCodeUtils = {}));
- }
- });
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/editor/common/core/selection.js
- var Selection;
- var init_selection = __esm({
- "node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/editor/common/core/selection.js"() {
- init_position();
- init_range();
- Selection = class _Selection extends Range {
- constructor(selectionStartLineNumber, selectionStartColumn, positionLineNumber, positionColumn) {
- super(selectionStartLineNumber, selectionStartColumn, positionLineNumber, positionColumn);
- this.selectionStartLineNumber = selectionStartLineNumber;
- this.selectionStartColumn = selectionStartColumn;
- this.positionLineNumber = positionLineNumber;
- this.positionColumn = positionColumn;
- }
- /**
- * Transform to a human-readable representation.
- */
- toString() {
- return "[" + this.selectionStartLineNumber + "," + this.selectionStartColumn + " -> " + this.positionLineNumber + "," + this.positionColumn + "]";
- }
- /**
- * Test if equals other selection.
- */
- equalsSelection(other) {
- return _Selection.selectionsEqual(this, other);
- }
- /**
- * Test if the two selections are equal.
- */
- static selectionsEqual(a, b) {
- return a.selectionStartLineNumber === b.selectionStartLineNumber && a.selectionStartColumn === b.selectionStartColumn && a.positionLineNumber === b.positionLineNumber && a.positionColumn === b.positionColumn;
- }
- /**
- * Get directions (LTR or RTL).
- */
- getDirection() {
- if (this.selectionStartLineNumber === this.startLineNumber && this.selectionStartColumn === this.startColumn) {
- return 0;
- }
- return 1;
- }
- /**
- * Create a new selection with a different `positionLineNumber` and `positionColumn`.
- */
- setEndPosition(endLineNumber, endColumn) {
- if (this.getDirection() === 0) {
- return new _Selection(this.startLineNumber, this.startColumn, endLineNumber, endColumn);
- }
- return new _Selection(endLineNumber, endColumn, this.startLineNumber, this.startColumn);
- }
- /**
- * Get the position at `positionLineNumber` and `positionColumn`.
- */
- getPosition() {
- return new Position(this.positionLineNumber, this.positionColumn);
- }
- /**
- * Get the position at the start of the selection.
- */
- getSelectionStart() {
- return new Position(this.selectionStartLineNumber, this.selectionStartColumn);
- }
- /**
- * Create a new selection with a different `selectionStartLineNumber` and `selectionStartColumn`.
- */
- setStartPosition(startLineNumber, startColumn) {
- if (this.getDirection() === 0) {
- return new _Selection(startLineNumber, startColumn, this.endLineNumber, this.endColumn);
- }
- return new _Selection(this.endLineNumber, this.endColumn, startLineNumber, startColumn);
- }
- // ----
- /**
- * Create a `Selection` from one or two positions
- */
- static fromPositions(start, end = start) {
- return new _Selection(start.lineNumber, start.column, end.lineNumber, end.column);
- }
- /**
- * Creates a `Selection` from a range, given a direction.
- */
- static fromRange(range2, direction) {
- if (direction === 0) {
- return new _Selection(range2.startLineNumber, range2.startColumn, range2.endLineNumber, range2.endColumn);
- } else {
- return new _Selection(range2.endLineNumber, range2.endColumn, range2.startLineNumber, range2.startColumn);
- }
- }
- /**
- * Create a `Selection` from an `ISelection`.
- */
- static liftSelection(sel) {
- return new _Selection(sel.selectionStartLineNumber, sel.selectionStartColumn, sel.positionLineNumber, sel.positionColumn);
- }
- /**
- * `a` equals `b`.
- */
- static selectionsArrEqual(a, b) {
- if (a && !b || !a && b) {
- return false;
- }
- if (!a && !b) {
- return true;
- }
- if (a.length !== b.length) {
- return false;
- }
- for (let i = 0, len = a.length; i < len; i++) {
- if (!this.selectionsEqual(a[i], b[i])) {
- return false;
- }
- }
- return true;
- }
- /**
- * Test if `obj` is an `ISelection`.
- */
- static isISelection(obj) {
- return obj && typeof obj.selectionStartLineNumber === "number" && typeof obj.selectionStartColumn === "number" && typeof obj.positionLineNumber === "number" && typeof obj.positionColumn === "number";
- }
- /**
- * Create with a direction.
- */
- static createWithDirection(startLineNumber, startColumn, endLineNumber, endColumn, direction) {
- if (direction === 0) {
- return new _Selection(startLineNumber, startColumn, endLineNumber, endColumn);
- }
- return new _Selection(endLineNumber, endColumn, startLineNumber, startColumn);
- }
- };
- }
- });
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/base/common/codicons.js
- function register(id, fontCharacter) {
- if (isString(fontCharacter)) {
- const val = _codiconFontCharacters[fontCharacter];
- if (val === void 0) {
- throw new Error(`${id} references an unknown codicon: ${fontCharacter}`);
- }
- fontCharacter = val;
- }
- _codiconFontCharacters[id] = fontCharacter;
- return { id };
- }
- function getCodiconFontCharacters() {
- return _codiconFontCharacters;
- }
- var _codiconFontCharacters, Codicon;
- var init_codicons = __esm({
- "node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/base/common/codicons.js"() {
- init_types();
- _codiconFontCharacters = /* @__PURE__ */ Object.create(null);
- Codicon = {
- // built-in icons, with image name
- add: register("add", 6e4),
- plus: register("plus", 6e4),
- gistNew: register("gist-new", 6e4),
- repoCreate: register("repo-create", 6e4),
- lightbulb: register("lightbulb", 60001),
- lightBulb: register("light-bulb", 60001),
- repo: register("repo", 60002),
- repoDelete: register("repo-delete", 60002),
- gistFork: register("gist-fork", 60003),
- repoForked: register("repo-forked", 60003),
- gitPullRequest: register("git-pull-request", 60004),
- gitPullRequestAbandoned: register("git-pull-request-abandoned", 60004),
- recordKeys: register("record-keys", 60005),
- keyboard: register("keyboard", 60005),
- tag: register("tag", 60006),
- tagAdd: register("tag-add", 60006),
- tagRemove: register("tag-remove", 60006),
- person: register("person", 60007),
- personFollow: register("person-follow", 60007),
- personOutline: register("person-outline", 60007),
- personFilled: register("person-filled", 60007),
- gitBranch: register("git-branch", 60008),
- gitBranchCreate: register("git-branch-create", 60008),
- gitBranchDelete: register("git-branch-delete", 60008),
- sourceControl: register("source-control", 60008),
- mirror: register("mirror", 60009),
- mirrorPublic: register("mirror-public", 60009),
- star: register("star", 60010),
- starAdd: register("star-add", 60010),
- starDelete: register("star-delete", 60010),
- starEmpty: register("star-empty", 60010),
- comment: register("comment", 60011),
- commentAdd: register("comment-add", 60011),
- alert: register("alert", 60012),
- warning: register("warning", 60012),
- search: register("search", 60013),
- searchSave: register("search-save", 60013),
- logOut: register("log-out", 60014),
- signOut: register("sign-out", 60014),
- logIn: register("log-in", 60015),
- signIn: register("sign-in", 60015),
- eye: register("eye", 60016),
- eyeUnwatch: register("eye-unwatch", 60016),
- eyeWatch: register("eye-watch", 60016),
- circleFilled: register("circle-filled", 60017),
- primitiveDot: register("primitive-dot", 60017),
- closeDirty: register("close-dirty", 60017),
- debugBreakpoint: register("debug-breakpoint", 60017),
- debugBreakpointDisabled: register("debug-breakpoint-disabled", 60017),
- debugHint: register("debug-hint", 60017),
- primitiveSquare: register("primitive-square", 60018),
- edit: register("edit", 60019),
- pencil: register("pencil", 60019),
- info: register("info", 60020),
- issueOpened: register("issue-opened", 60020),
- gistPrivate: register("gist-private", 60021),
- gitForkPrivate: register("git-fork-private", 60021),
- lock: register("lock", 60021),
- mirrorPrivate: register("mirror-private", 60021),
- close: register("close", 60022),
- removeClose: register("remove-close", 60022),
- x: register("x", 60022),
- repoSync: register("repo-sync", 60023),
- sync: register("sync", 60023),
- clone: register("clone", 60024),
- desktopDownload: register("desktop-download", 60024),
- beaker: register("beaker", 60025),
- microscope: register("microscope", 60025),
- vm: register("vm", 60026),
- deviceDesktop: register("device-desktop", 60026),
- file: register("file", 60027),
- fileText: register("file-text", 60027),
- more: register("more", 60028),
- ellipsis: register("ellipsis", 60028),
- kebabHorizontal: register("kebab-horizontal", 60028),
- mailReply: register("mail-reply", 60029),
- reply: register("reply", 60029),
- organization: register("organization", 60030),
- organizationFilled: register("organization-filled", 60030),
- organizationOutline: register("organization-outline", 60030),
- newFile: register("new-file", 60031),
- fileAdd: register("file-add", 60031),
- newFolder: register("new-folder", 60032),
- fileDirectoryCreate: register("file-directory-create", 60032),
- trash: register("trash", 60033),
- trashcan: register("trashcan", 60033),
- history: register("history", 60034),
- clock: register("clock", 60034),
- folder: register("folder", 60035),
- fileDirectory: register("file-directory", 60035),
- symbolFolder: register("symbol-folder", 60035),
- logoGithub: register("logo-github", 60036),
- markGithub: register("mark-github", 60036),
- github: register("github", 60036),
- terminal: register("terminal", 60037),
- console: register("console", 60037),
- repl: register("repl", 60037),
- zap: register("zap", 60038),
- symbolEvent: register("symbol-event", 60038),
- error: register("error", 60039),
- stop: register("stop", 60039),
- variable: register("variable", 60040),
- symbolVariable: register("symbol-variable", 60040),
- array: register("array", 60042),
- symbolArray: register("symbol-array", 60042),
- symbolModule: register("symbol-module", 60043),
- symbolPackage: register("symbol-package", 60043),
- symbolNamespace: register("symbol-namespace", 60043),
- symbolObject: register("symbol-object", 60043),
- symbolMethod: register("symbol-method", 60044),
- symbolFunction: register("symbol-function", 60044),
- symbolConstructor: register("symbol-constructor", 60044),
- symbolBoolean: register("symbol-boolean", 60047),
- symbolNull: register("symbol-null", 60047),
- symbolNumeric: register("symbol-numeric", 60048),
- symbolNumber: register("symbol-number", 60048),
- symbolStructure: register("symbol-structure", 60049),
- symbolStruct: register("symbol-struct", 60049),
- symbolParameter: register("symbol-parameter", 60050),
- symbolTypeParameter: register("symbol-type-parameter", 60050),
- symbolKey: register("symbol-key", 60051),
- symbolText: register("symbol-text", 60051),
- symbolReference: register("symbol-reference", 60052),
- goToFile: register("go-to-file", 60052),
- symbolEnum: register("symbol-enum", 60053),
- symbolValue: register("symbol-value", 60053),
- symbolRuler: register("symbol-ruler", 60054),
- symbolUnit: register("symbol-unit", 60054),
- activateBreakpoints: register("activate-breakpoints", 60055),
- archive: register("archive", 60056),
- arrowBoth: register("arrow-both", 60057),
- arrowDown: register("arrow-down", 60058),
- arrowLeft: register("arrow-left", 60059),
- arrowRight: register("arrow-right", 60060),
- arrowSmallDown: register("arrow-small-down", 60061),
- arrowSmallLeft: register("arrow-small-left", 60062),
- arrowSmallRight: register("arrow-small-right", 60063),
- arrowSmallUp: register("arrow-small-up", 60064),
- arrowUp: register("arrow-up", 60065),
- bell: register("bell", 60066),
- bold: register("bold", 60067),
- book: register("book", 60068),
- bookmark: register("bookmark", 60069),
- debugBreakpointConditionalUnverified: register("debug-breakpoint-conditional-unverified", 60070),
- debugBreakpointConditional: register("debug-breakpoint-conditional", 60071),
- debugBreakpointConditionalDisabled: register("debug-breakpoint-conditional-disabled", 60071),
- debugBreakpointDataUnverified: register("debug-breakpoint-data-unverified", 60072),
- debugBreakpointData: register("debug-breakpoint-data", 60073),
- debugBreakpointDataDisabled: register("debug-breakpoint-data-disabled", 60073),
- debugBreakpointLogUnverified: register("debug-breakpoint-log-unverified", 60074),
- debugBreakpointLog: register("debug-breakpoint-log", 60075),
- debugBreakpointLogDisabled: register("debug-breakpoint-log-disabled", 60075),
- briefcase: register("briefcase", 60076),
- broadcast: register("broadcast", 60077),
- browser: register("browser", 60078),
- bug: register("bug", 60079),
- calendar: register("calendar", 60080),
- caseSensitive: register("case-sensitive", 60081),
- check: register("check", 60082),
- checklist: register("checklist", 60083),
- chevronDown: register("chevron-down", 60084),
- dropDownButton: register("drop-down-button", 60084),
- chevronLeft: register("chevron-left", 60085),
- chevronRight: register("chevron-right", 60086),
- chevronUp: register("chevron-up", 60087),
- chromeClose: register("chrome-close", 60088),
- chromeMaximize: register("chrome-maximize", 60089),
- chromeMinimize: register("chrome-minimize", 60090),
- chromeRestore: register("chrome-restore", 60091),
- circle: register("circle", 60092),
- circleOutline: register("circle-outline", 60092),
- debugBreakpointUnverified: register("debug-breakpoint-unverified", 60092),
- circleSlash: register("circle-slash", 60093),
- circuitBoard: register("circuit-board", 60094),
- clearAll: register("clear-all", 60095),
- clippy: register("clippy", 60096),
- closeAll: register("close-all", 60097),
- cloudDownload: register("cloud-download", 60098),
- cloudUpload: register("cloud-upload", 60099),
- code: register("code", 60100),
- collapseAll: register("collapse-all", 60101),
- colorMode: register("color-mode", 60102),
- commentDiscussion: register("comment-discussion", 60103),
- compareChanges: register("compare-changes", 60157),
- creditCard: register("credit-card", 60105),
- dash: register("dash", 60108),
- dashboard: register("dashboard", 60109),
- database: register("database", 60110),
- debugContinue: register("debug-continue", 60111),
- debugDisconnect: register("debug-disconnect", 60112),
- debugPause: register("debug-pause", 60113),
- debugRestart: register("debug-restart", 60114),
- debugStart: register("debug-start", 60115),
- debugStepInto: register("debug-step-into", 60116),
- debugStepOut: register("debug-step-out", 60117),
- debugStepOver: register("debug-step-over", 60118),
- debugStop: register("debug-stop", 60119),
- debug: register("debug", 60120),
- deviceCameraVideo: register("device-camera-video", 60121),
- deviceCamera: register("device-camera", 60122),
- deviceMobile: register("device-mobile", 60123),
- diffAdded: register("diff-added", 60124),
- diffIgnored: register("diff-ignored", 60125),
- diffModified: register("diff-modified", 60126),
- diffRemoved: register("diff-removed", 60127),
- diffRenamed: register("diff-renamed", 60128),
- diff: register("diff", 60129),
- discard: register("discard", 60130),
- editorLayout: register("editor-layout", 60131),
- emptyWindow: register("empty-window", 60132),
- exclude: register("exclude", 60133),
- extensions: register("extensions", 60134),
- eyeClosed: register("eye-closed", 60135),
- fileBinary: register("file-binary", 60136),
- fileCode: register("file-code", 60137),
- fileMedia: register("file-media", 60138),
- filePdf: register("file-pdf", 60139),
- fileSubmodule: register("file-submodule", 60140),
- fileSymlinkDirectory: register("file-symlink-directory", 60141),
- fileSymlinkFile: register("file-symlink-file", 60142),
- fileZip: register("file-zip", 60143),
- files: register("files", 60144),
- filter: register("filter", 60145),
- flame: register("flame", 60146),
- foldDown: register("fold-down", 60147),
- foldUp: register("fold-up", 60148),
- fold: register("fold", 60149),
- folderActive: register("folder-active", 60150),
- folderOpened: register("folder-opened", 60151),
- gear: register("gear", 60152),
- gift: register("gift", 60153),
- gistSecret: register("gist-secret", 60154),
- gist: register("gist", 60155),
- gitCommit: register("git-commit", 60156),
- gitCompare: register("git-compare", 60157),
- gitMerge: register("git-merge", 60158),
- githubAction: register("github-action", 60159),
- githubAlt: register("github-alt", 60160),
- globe: register("globe", 60161),
- grabber: register("grabber", 60162),
- graph: register("graph", 60163),
- gripper: register("gripper", 60164),
- heart: register("heart", 60165),
- home: register("home", 60166),
- horizontalRule: register("horizontal-rule", 60167),
- hubot: register("hubot", 60168),
- inbox: register("inbox", 60169),
- issueClosed: register("issue-closed", 60324),
- issueReopened: register("issue-reopened", 60171),
- issues: register("issues", 60172),
- italic: register("italic", 60173),
- jersey: register("jersey", 60174),
- json: register("json", 60175),
- bracket: register("bracket", 60175),
- kebabVertical: register("kebab-vertical", 60176),
- key: register("key", 60177),
- law: register("law", 60178),
- lightbulbAutofix: register("lightbulb-autofix", 60179),
- linkExternal: register("link-external", 60180),
- link: register("link", 60181),
- listOrdered: register("list-ordered", 60182),
- listUnordered: register("list-unordered", 60183),
- liveShare: register("live-share", 60184),
- loading: register("loading", 60185),
- location: register("location", 60186),
- mailRead: register("mail-read", 60187),
- mail: register("mail", 60188),
- markdown: register("markdown", 60189),
- megaphone: register("megaphone", 60190),
- mention: register("mention", 60191),
- milestone: register("milestone", 60192),
- mortarBoard: register("mortar-board", 60193),
- move: register("move", 60194),
- multipleWindows: register("multiple-windows", 60195),
- mute: register("mute", 60196),
- noNewline: register("no-newline", 60197),
- note: register("note", 60198),
- octoface: register("octoface", 60199),
- openPreview: register("open-preview", 60200),
- package_: register("package", 60201),
- paintcan: register("paintcan", 60202),
- pin: register("pin", 60203),
- play: register("play", 60204),
- run: register("run", 60204),
- plug: register("plug", 60205),
- preserveCase: register("preserve-case", 60206),
- preview: register("preview", 60207),
- project: register("project", 60208),
- pulse: register("pulse", 60209),
- question: register("question", 60210),
- quote: register("quote", 60211),
- radioTower: register("radio-tower", 60212),
- reactions: register("reactions", 60213),
- references: register("references", 60214),
- refresh: register("refresh", 60215),
- regex: register("regex", 60216),
- remoteExplorer: register("remote-explorer", 60217),
- remote: register("remote", 60218),
- remove: register("remove", 60219),
- replaceAll: register("replace-all", 60220),
- replace: register("replace", 60221),
- repoClone: register("repo-clone", 60222),
- repoForcePush: register("repo-force-push", 60223),
- repoPull: register("repo-pull", 60224),
- repoPush: register("repo-push", 60225),
- report: register("report", 60226),
- requestChanges: register("request-changes", 60227),
- rocket: register("rocket", 60228),
- rootFolderOpened: register("root-folder-opened", 60229),
- rootFolder: register("root-folder", 60230),
- rss: register("rss", 60231),
- ruby: register("ruby", 60232),
- saveAll: register("save-all", 60233),
- saveAs: register("save-as", 60234),
- save: register("save", 60235),
- screenFull: register("screen-full", 60236),
- screenNormal: register("screen-normal", 60237),
- searchStop: register("search-stop", 60238),
- server: register("server", 60240),
- settingsGear: register("settings-gear", 60241),
- settings: register("settings", 60242),
- shield: register("shield", 60243),
- smiley: register("smiley", 60244),
- sortPrecedence: register("sort-precedence", 60245),
- splitHorizontal: register("split-horizontal", 60246),
- splitVertical: register("split-vertical", 60247),
- squirrel: register("squirrel", 60248),
- starFull: register("star-full", 60249),
- starHalf: register("star-half", 60250),
- symbolClass: register("symbol-class", 60251),
- symbolColor: register("symbol-color", 60252),
- symbolCustomColor: register("symbol-customcolor", 60252),
- symbolConstant: register("symbol-constant", 60253),
- symbolEnumMember: register("symbol-enum-member", 60254),
- symbolField: register("symbol-field", 60255),
- symbolFile: register("symbol-file", 60256),
- symbolInterface: register("symbol-interface", 60257),
- symbolKeyword: register("symbol-keyword", 60258),
- symbolMisc: register("symbol-misc", 60259),
- symbolOperator: register("symbol-operator", 60260),
- symbolProperty: register("symbol-property", 60261),
- wrench: register("wrench", 60261),
- wrenchSubaction: register("wrench-subaction", 60261),
- symbolSnippet: register("symbol-snippet", 60262),
- tasklist: register("tasklist", 60263),
- telescope: register("telescope", 60264),
- textSize: register("text-size", 60265),
- threeBars: register("three-bars", 60266),
- thumbsdown: register("thumbsdown", 60267),
- thumbsup: register("thumbsup", 60268),
- tools: register("tools", 60269),
- triangleDown: register("triangle-down", 60270),
- triangleLeft: register("triangle-left", 60271),
- triangleRight: register("triangle-right", 60272),
- triangleUp: register("triangle-up", 60273),
- twitter: register("twitter", 60274),
- unfold: register("unfold", 60275),
- unlock: register("unlock", 60276),
- unmute: register("unmute", 60277),
- unverified: register("unverified", 60278),
- verified: register("verified", 60279),
- versions: register("versions", 60280),
- vmActive: register("vm-active", 60281),
- vmOutline: register("vm-outline", 60282),
- vmRunning: register("vm-running", 60283),
- watch: register("watch", 60284),
- whitespace: register("whitespace", 60285),
- wholeWord: register("whole-word", 60286),
- window: register("window", 60287),
- wordWrap: register("word-wrap", 60288),
- zoomIn: register("zoom-in", 60289),
- zoomOut: register("zoom-out", 60290),
- listFilter: register("list-filter", 60291),
- listFlat: register("list-flat", 60292),
- listSelection: register("list-selection", 60293),
- selection: register("selection", 60293),
- listTree: register("list-tree", 60294),
- debugBreakpointFunctionUnverified: register("debug-breakpoint-function-unverified", 60295),
- debugBreakpointFunction: register("debug-breakpoint-function", 60296),
- debugBreakpointFunctionDisabled: register("debug-breakpoint-function-disabled", 60296),
- debugStackframeActive: register("debug-stackframe-active", 60297),
- circleSmallFilled: register("circle-small-filled", 60298),
- debugStackframeDot: register("debug-stackframe-dot", 60298),
- debugStackframe: register("debug-stackframe", 60299),
- debugStackframeFocused: register("debug-stackframe-focused", 60299),
- debugBreakpointUnsupported: register("debug-breakpoint-unsupported", 60300),
- symbolString: register("symbol-string", 60301),
- debugReverseContinue: register("debug-reverse-continue", 60302),
- debugStepBack: register("debug-step-back", 60303),
- debugRestartFrame: register("debug-restart-frame", 60304),
- callIncoming: register("call-incoming", 60306),
- callOutgoing: register("call-outgoing", 60307),
- menu: register("menu", 60308),
- expandAll: register("expand-all", 60309),
- feedback: register("feedback", 60310),
- groupByRefType: register("group-by-ref-type", 60311),
- ungroupByRefType: register("ungroup-by-ref-type", 60312),
- account: register("account", 60313),
- bellDot: register("bell-dot", 60314),
- debugConsole: register("debug-console", 60315),
- library: register("library", 60316),
- output: register("output", 60317),
- runAll: register("run-all", 60318),
- syncIgnored: register("sync-ignored", 60319),
- pinned: register("pinned", 60320),
- githubInverted: register("github-inverted", 60321),
- debugAlt: register("debug-alt", 60305),
- serverProcess: register("server-process", 60322),
- serverEnvironment: register("server-environment", 60323),
- pass: register("pass", 60324),
- stopCircle: register("stop-circle", 60325),
- playCircle: register("play-circle", 60326),
- record: register("record", 60327),
- debugAltSmall: register("debug-alt-small", 60328),
- vmConnect: register("vm-connect", 60329),
- cloud: register("cloud", 60330),
- merge: register("merge", 60331),
- exportIcon: register("export", 60332),
- graphLeft: register("graph-left", 60333),
- magnet: register("magnet", 60334),
- notebook: register("notebook", 60335),
- redo: register("redo", 60336),
- checkAll: register("check-all", 60337),
- pinnedDirty: register("pinned-dirty", 60338),
- passFilled: register("pass-filled", 60339),
- circleLargeFilled: register("circle-large-filled", 60340),
- circleLarge: register("circle-large", 60341),
- circleLargeOutline: register("circle-large-outline", 60341),
- combine: register("combine", 60342),
- gather: register("gather", 60342),
- table: register("table", 60343),
- variableGroup: register("variable-group", 60344),
- typeHierarchy: register("type-hierarchy", 60345),
- typeHierarchySub: register("type-hierarchy-sub", 60346),
- typeHierarchySuper: register("type-hierarchy-super", 60347),
- gitPullRequestCreate: register("git-pull-request-create", 60348),
- runAbove: register("run-above", 60349),
- runBelow: register("run-below", 60350),
- notebookTemplate: register("notebook-template", 60351),
- debugRerun: register("debug-rerun", 60352),
- workspaceTrusted: register("workspace-trusted", 60353),
- workspaceUntrusted: register("workspace-untrusted", 60354),
- workspaceUnspecified: register("workspace-unspecified", 60355),
- terminalCmd: register("terminal-cmd", 60356),
- terminalDebian: register("terminal-debian", 60357),
- terminalLinux: register("terminal-linux", 60358),
- terminalPowershell: register("terminal-powershell", 60359),
- terminalTmux: register("terminal-tmux", 60360),
- terminalUbuntu: register("terminal-ubuntu", 60361),
- terminalBash: register("terminal-bash", 60362),
- arrowSwap: register("arrow-swap", 60363),
- copy: register("copy", 60364),
- personAdd: register("person-add", 60365),
- filterFilled: register("filter-filled", 60366),
- wand: register("wand", 60367),
- debugLineByLine: register("debug-line-by-line", 60368),
- inspect: register("inspect", 60369),
- layers: register("layers", 60370),
- layersDot: register("layers-dot", 60371),
- layersActive: register("layers-active", 60372),
- compass: register("compass", 60373),
- compassDot: register("compass-dot", 60374),
- compassActive: register("compass-active", 60375),
- azure: register("azure", 60376),
- issueDraft: register("issue-draft", 60377),
- gitPullRequestClosed: register("git-pull-request-closed", 60378),
- gitPullRequestDraft: register("git-pull-request-draft", 60379),
- debugAll: register("debug-all", 60380),
- debugCoverage: register("debug-coverage", 60381),
- runErrors: register("run-errors", 60382),
- folderLibrary: register("folder-library", 60383),
- debugContinueSmall: register("debug-continue-small", 60384),
- beakerStop: register("beaker-stop", 60385),
- graphLine: register("graph-line", 60386),
- graphScatter: register("graph-scatter", 60387),
- pieChart: register("pie-chart", 60388),
- bracketDot: register("bracket-dot", 60389),
- bracketError: register("bracket-error", 60390),
- lockSmall: register("lock-small", 60391),
- azureDevops: register("azure-devops", 60392),
- verifiedFilled: register("verified-filled", 60393),
- newLine: register("newline", 60394),
- layout: register("layout", 60395),
- layoutActivitybarLeft: register("layout-activitybar-left", 60396),
- layoutActivitybarRight: register("layout-activitybar-right", 60397),
- layoutPanelLeft: register("layout-panel-left", 60398),
- layoutPanelCenter: register("layout-panel-center", 60399),
- layoutPanelJustify: register("layout-panel-justify", 60400),
- layoutPanelRight: register("layout-panel-right", 60401),
- layoutPanel: register("layout-panel", 60402),
- layoutSidebarLeft: register("layout-sidebar-left", 60403),
- layoutSidebarRight: register("layout-sidebar-right", 60404),
- layoutStatusbar: register("layout-statusbar", 60405),
- layoutMenubar: register("layout-menubar", 60406),
- layoutCentered: register("layout-centered", 60407),
- layoutSidebarRightOff: register("layout-sidebar-right-off", 60416),
- layoutPanelOff: register("layout-panel-off", 60417),
- layoutSidebarLeftOff: register("layout-sidebar-left-off", 60418),
- target: register("target", 60408),
- indent: register("indent", 60409),
- recordSmall: register("record-small", 60410),
- errorSmall: register("error-small", 60411),
- arrowCircleDown: register("arrow-circle-down", 60412),
- arrowCircleLeft: register("arrow-circle-left", 60413),
- arrowCircleRight: register("arrow-circle-right", 60414),
- arrowCircleUp: register("arrow-circle-up", 60415),
- heartFilled: register("heart-filled", 60420),
- map: register("map", 60421),
- mapFilled: register("map-filled", 60422),
- circleSmall: register("circle-small", 60423),
- bellSlash: register("bell-slash", 60424),
- bellSlashDot: register("bell-slash-dot", 60425),
- commentUnresolved: register("comment-unresolved", 60426),
- gitPullRequestGoToChanges: register("git-pull-request-go-to-changes", 60427),
- gitPullRequestNewChanges: register("git-pull-request-new-changes", 60428),
- searchFuzzy: register("search-fuzzy", 60429),
- commentDraft: register("comment-draft", 60430),
- send: register("send", 60431),
- sparkle: register("sparkle", 60432),
- insert: register("insert", 60433),
- // derived icons, that could become separate icons
- dialogError: register("dialog-error", "error"),
- dialogWarning: register("dialog-warning", "warning"),
- dialogInfo: register("dialog-info", "info"),
- dialogClose: register("dialog-close", "close"),
- treeItemExpanded: register("tree-item-expanded", "chevron-down"),
- treeFilterOnTypeOn: register("tree-filter-on-type-on", "list-filter"),
- treeFilterOnTypeOff: register("tree-filter-on-type-off", "list-selection"),
- treeFilterClear: register("tree-filter-clear", "close"),
- treeItemLoading: register("tree-item-loading", "loading"),
- menuSelection: register("menu-selection", "check"),
- menuSubmenu: register("menu-submenu", "chevron-right"),
- menuBarMore: register("menubar-more", "more"),
- scrollbarButtonLeft: register("scrollbar-button-left", "triangle-left"),
- scrollbarButtonRight: register("scrollbar-button-right", "triangle-right"),
- scrollbarButtonUp: register("scrollbar-button-up", "triangle-up"),
- scrollbarButtonDown: register("scrollbar-button-down", "triangle-down"),
- toolBarMore: register("toolbar-more", "more"),
- quickInputBack: register("quick-input-back", "arrow-left")
- };
- }
- });
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/editor/common/tokenizationRegistry.js
- var __awaiter, TokenizationRegistry, TokenizationSupportFactoryData;
- var init_tokenizationRegistry = __esm({
- "node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/editor/common/tokenizationRegistry.js"() {
- init_event();
- init_lifecycle();
- __awaiter = function(thisArg, _arguments, P, generator) {
- function adopt(value) {
- return value instanceof P ? value : new P(function(resolve2) {
- resolve2(value);
- });
- }
- return new (P || (P = Promise))(function(resolve2, reject) {
- function fulfilled(value) {
- try {
- step(generator.next(value));
- } catch (e) {
- reject(e);
- }
- }
- function rejected(value) {
- try {
- step(generator["throw"](value));
- } catch (e) {
- reject(e);
- }
- }
- function step(result) {
- result.done ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
- }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
- };
- TokenizationRegistry = class {
- constructor() {
- this._tokenizationSupports = /* @__PURE__ */ new Map();
- this._factories = /* @__PURE__ */ new Map();
- this._onDidChange = new Emitter();
- this.onDidChange = this._onDidChange.event;
- this._colorMap = null;
- }
- handleChange(languageIds) {
- this._onDidChange.fire({
- changedLanguages: languageIds,
- changedColorMap: false
- });
- }
- register(languageId, support) {
- this._tokenizationSupports.set(languageId, support);
- this.handleChange([languageId]);
- return toDisposable(() => {
- if (this._tokenizationSupports.get(languageId) !== support) {
- return;
- }
- this._tokenizationSupports.delete(languageId);
- this.handleChange([languageId]);
- });
- }
- get(languageId) {
- return this._tokenizationSupports.get(languageId) || null;
- }
- registerFactory(languageId, factory) {
- var _a3;
- (_a3 = this._factories.get(languageId)) === null || _a3 === void 0 ? void 0 : _a3.dispose();
- const myData = new TokenizationSupportFactoryData(this, languageId, factory);
- this._factories.set(languageId, myData);
- return toDisposable(() => {
- const v = this._factories.get(languageId);
- if (!v || v !== myData) {
- return;
- }
- this._factories.delete(languageId);
- v.dispose();
- });
- }
- getOrCreate(languageId) {
- return __awaiter(this, void 0, void 0, function* () {
- const tokenizationSupport = this.get(languageId);
- if (tokenizationSupport) {
- return tokenizationSupport;
- }
- const factory = this._factories.get(languageId);
- if (!factory || factory.isResolved) {
- return null;
- }
- yield factory.resolve();
- return this.get(languageId);
- });
- }
- isResolved(languageId) {
- const tokenizationSupport = this.get(languageId);
- if (tokenizationSupport) {
- return true;
- }
- const factory = this._factories.get(languageId);
- if (!factory || factory.isResolved) {
- return true;
- }
- return false;
- }
- setColorMap(colorMap) {
- this._colorMap = colorMap;
- this._onDidChange.fire({
- changedLanguages: Array.from(this._tokenizationSupports.keys()),
- changedColorMap: true
- });
- }
- getColorMap() {
- return this._colorMap;
- }
- getDefaultBackground() {
- if (this._colorMap && this._colorMap.length > 2) {
- return this._colorMap[
- 2
- /* ColorId.DefaultBackground */
- ];
- }
- return null;
- }
- };
- TokenizationSupportFactoryData = class extends Disposable {
- get isResolved() {
- return this._isResolved;
- }
- constructor(_registry, _languageId, _factory) {
- super();
- this._registry = _registry;
- this._languageId = _languageId;
- this._factory = _factory;
- this._isDisposed = false;
- this._resolvePromise = null;
- this._isResolved = false;
- }
- dispose() {
- this._isDisposed = true;
- super.dispose();
- }
- resolve() {
- return __awaiter(this, void 0, void 0, function* () {
- if (!this._resolvePromise) {
- this._resolvePromise = this._create();
- }
- return this._resolvePromise;
- });
- }
- _create() {
- return __awaiter(this, void 0, void 0, function* () {
- const value = yield this._factory.tokenizationSupport;
- this._isResolved = true;
- if (value && !this._isDisposed) {
- this._register(this._registry.register(this._languageId, value));
- }
- });
- }
- };
- }
- });
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/editor/common/languages.js
- function isLocationLink(thing) {
- return thing && URI.isUri(thing.uri) && Range.isIRange(thing.range) && (Range.isIRange(thing.originSelectionRange) || Range.isIRange(thing.targetSelectionRange));
- }
- var Token, TokenizationResult, EncodedTokenizationResult, CompletionItemKinds, InlineCompletionTriggerKind, SelectedSuggestionInfo, SignatureHelpTriggerKind, DocumentHighlightKind, SymbolKinds, FoldingRangeKind, Command, InlayHintKind, LazyTokenizationSupport, TokenizationRegistry2;
- var init_languages = __esm({
- "node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/editor/common/languages.js"() {
- init_codicons();
- init_uri();
- init_range();
- init_tokenizationRegistry();
- Token = class {
- constructor(offset, type, language2) {
- this.offset = offset;
- this.type = type;
- this.language = language2;
- this._tokenBrand = void 0;
- }
- toString() {
- return "(" + this.offset + ", " + this.type + ")";
- }
- };
- TokenizationResult = class {
- constructor(tokens, endState) {
- this.tokens = tokens;
- this.endState = endState;
- this._tokenizationResultBrand = void 0;
- }
- };
- EncodedTokenizationResult = class {
- constructor(tokens, endState) {
- this.tokens = tokens;
- this.endState = endState;
- this._encodedTokenizationResultBrand = void 0;
- }
- };
- (function(CompletionItemKinds2) {
- const byKind = /* @__PURE__ */ new Map();
- byKind.set(0, Codicon.symbolMethod);
- byKind.set(1, Codicon.symbolFunction);
- byKind.set(2, Codicon.symbolConstructor);
- byKind.set(3, Codicon.symbolField);
- byKind.set(4, Codicon.symbolVariable);
- byKind.set(5, Codicon.symbolClass);
- byKind.set(6, Codicon.symbolStruct);
- byKind.set(7, Codicon.symbolInterface);
- byKind.set(8, Codicon.symbolModule);
- byKind.set(9, Codicon.symbolProperty);
- byKind.set(10, Codicon.symbolEvent);
- byKind.set(11, Codicon.symbolOperator);
- byKind.set(12, Codicon.symbolUnit);
- byKind.set(13, Codicon.symbolValue);
- byKind.set(15, Codicon.symbolEnum);
- byKind.set(14, Codicon.symbolConstant);
- byKind.set(15, Codicon.symbolEnum);
- byKind.set(16, Codicon.symbolEnumMember);
- byKind.set(17, Codicon.symbolKeyword);
- byKind.set(27, Codicon.symbolSnippet);
- byKind.set(18, Codicon.symbolText);
- byKind.set(19, Codicon.symbolColor);
- byKind.set(20, Codicon.symbolFile);
- byKind.set(21, Codicon.symbolReference);
- byKind.set(22, Codicon.symbolCustomColor);
- byKind.set(23, Codicon.symbolFolder);
- byKind.set(24, Codicon.symbolTypeParameter);
- byKind.set(25, Codicon.account);
- byKind.set(26, Codicon.issues);
- function toIcon(kind) {
- let codicon = byKind.get(kind);
- if (!codicon) {
- console.info("No codicon found for CompletionItemKind " + kind);
- codicon = Codicon.symbolProperty;
- }
- return codicon;
- }
- CompletionItemKinds2.toIcon = toIcon;
- const data = /* @__PURE__ */ new Map();
- data.set(
- "method",
- 0
- /* CompletionItemKind.Method */
- );
- data.set(
- "function",
- 1
- /* CompletionItemKind.Function */
- );
- data.set(
- "constructor",
- 2
- /* CompletionItemKind.Constructor */
- );
- data.set(
- "field",
- 3
- /* CompletionItemKind.Field */
- );
- data.set(
- "variable",
- 4
- /* CompletionItemKind.Variable */
- );
- data.set(
- "class",
- 5
- /* CompletionItemKind.Class */
- );
- data.set(
- "struct",
- 6
- /* CompletionItemKind.Struct */
- );
- data.set(
- "interface",
- 7
- /* CompletionItemKind.Interface */
- );
- data.set(
- "module",
- 8
- /* CompletionItemKind.Module */
- );
- data.set(
- "property",
- 9
- /* CompletionItemKind.Property */
- );
- data.set(
- "event",
- 10
- /* CompletionItemKind.Event */
- );
- data.set(
- "operator",
- 11
- /* CompletionItemKind.Operator */
- );
- data.set(
- "unit",
- 12
- /* CompletionItemKind.Unit */
- );
- data.set(
- "value",
- 13
- /* CompletionItemKind.Value */
- );
- data.set(
- "constant",
- 14
- /* CompletionItemKind.Constant */
- );
- data.set(
- "enum",
- 15
- /* CompletionItemKind.Enum */
- );
- data.set(
- "enum-member",
- 16
- /* CompletionItemKind.EnumMember */
- );
- data.set(
- "enumMember",
- 16
- /* CompletionItemKind.EnumMember */
- );
- data.set(
- "keyword",
- 17
- /* CompletionItemKind.Keyword */
- );
- data.set(
- "snippet",
- 27
- /* CompletionItemKind.Snippet */
- );
- data.set(
- "text",
- 18
- /* CompletionItemKind.Text */
- );
- data.set(
- "color",
- 19
- /* CompletionItemKind.Color */
- );
- data.set(
- "file",
- 20
- /* CompletionItemKind.File */
- );
- data.set(
- "reference",
- 21
- /* CompletionItemKind.Reference */
- );
- data.set(
- "customcolor",
- 22
- /* CompletionItemKind.Customcolor */
- );
- data.set(
- "folder",
- 23
- /* CompletionItemKind.Folder */
- );
- data.set(
- "type-parameter",
- 24
- /* CompletionItemKind.TypeParameter */
- );
- data.set(
- "typeParameter",
- 24
- /* CompletionItemKind.TypeParameter */
- );
- data.set(
- "account",
- 25
- /* CompletionItemKind.User */
- );
- data.set(
- "issue",
- 26
- /* CompletionItemKind.Issue */
- );
- function fromString(value, strict) {
- let res = data.get(value);
- if (typeof res === "undefined" && !strict) {
- res = 9;
- }
- return res;
- }
- CompletionItemKinds2.fromString = fromString;
- })(CompletionItemKinds || (CompletionItemKinds = {}));
- (function(InlineCompletionTriggerKind3) {
- InlineCompletionTriggerKind3[InlineCompletionTriggerKind3["Automatic"] = 0] = "Automatic";
- InlineCompletionTriggerKind3[InlineCompletionTriggerKind3["Explicit"] = 1] = "Explicit";
- })(InlineCompletionTriggerKind || (InlineCompletionTriggerKind = {}));
- SelectedSuggestionInfo = class {
- constructor(range2, text, completionKind, isSnippetText) {
- this.range = range2;
- this.text = text;
- this.completionKind = completionKind;
- this.isSnippetText = isSnippetText;
- }
- equals(other) {
- return Range.lift(this.range).equalsRange(other.range) && this.text === other.text && this.completionKind === other.completionKind && this.isSnippetText === other.isSnippetText;
- }
- };
- (function(SignatureHelpTriggerKind3) {
- SignatureHelpTriggerKind3[SignatureHelpTriggerKind3["Invoke"] = 1] = "Invoke";
- SignatureHelpTriggerKind3[SignatureHelpTriggerKind3["TriggerCharacter"] = 2] = "TriggerCharacter";
- SignatureHelpTriggerKind3[SignatureHelpTriggerKind3["ContentChange"] = 3] = "ContentChange";
- })(SignatureHelpTriggerKind || (SignatureHelpTriggerKind = {}));
- (function(DocumentHighlightKind3) {
- DocumentHighlightKind3[DocumentHighlightKind3["Text"] = 0] = "Text";
- DocumentHighlightKind3[DocumentHighlightKind3["Read"] = 1] = "Read";
- DocumentHighlightKind3[DocumentHighlightKind3["Write"] = 2] = "Write";
- })(DocumentHighlightKind || (DocumentHighlightKind = {}));
- (function(SymbolKinds2) {
- const byKind = /* @__PURE__ */ new Map();
- byKind.set(0, Codicon.symbolFile);
- byKind.set(1, Codicon.symbolModule);
- byKind.set(2, Codicon.symbolNamespace);
- byKind.set(3, Codicon.symbolPackage);
- byKind.set(4, Codicon.symbolClass);
- byKind.set(5, Codicon.symbolMethod);
- byKind.set(6, Codicon.symbolProperty);
- byKind.set(7, Codicon.symbolField);
- byKind.set(8, Codicon.symbolConstructor);
- byKind.set(9, Codicon.symbolEnum);
- byKind.set(10, Codicon.symbolInterface);
- byKind.set(11, Codicon.symbolFunction);
- byKind.set(12, Codicon.symbolVariable);
- byKind.set(13, Codicon.symbolConstant);
- byKind.set(14, Codicon.symbolString);
- byKind.set(15, Codicon.symbolNumber);
- byKind.set(16, Codicon.symbolBoolean);
- byKind.set(17, Codicon.symbolArray);
- byKind.set(18, Codicon.symbolObject);
- byKind.set(19, Codicon.symbolKey);
- byKind.set(20, Codicon.symbolNull);
- byKind.set(21, Codicon.symbolEnumMember);
- byKind.set(22, Codicon.symbolStruct);
- byKind.set(23, Codicon.symbolEvent);
- byKind.set(24, Codicon.symbolOperator);
- byKind.set(25, Codicon.symbolTypeParameter);
- function toIcon(kind) {
- let icon = byKind.get(kind);
- if (!icon) {
- console.info("No codicon found for SymbolKind " + kind);
- icon = Codicon.symbolProperty;
- }
- return icon;
- }
- SymbolKinds2.toIcon = toIcon;
- })(SymbolKinds || (SymbolKinds = {}));
- FoldingRangeKind = class _FoldingRangeKind {
- /**
- * Returns a {@link FoldingRangeKind} for the given value.
- *
- * @param value of the kind.
- */
- static fromValue(value) {
- switch (value) {
- case "comment":
- return _FoldingRangeKind.Comment;
- case "imports":
- return _FoldingRangeKind.Imports;
- case "region":
- return _FoldingRangeKind.Region;
- }
- return new _FoldingRangeKind(value);
- }
- /**
- * Creates a new {@link FoldingRangeKind}.
- *
- * @param value of the kind.
- */
- constructor(value) {
- this.value = value;
- }
- };
- FoldingRangeKind.Comment = new FoldingRangeKind("comment");
- FoldingRangeKind.Imports = new FoldingRangeKind("imports");
- FoldingRangeKind.Region = new FoldingRangeKind("region");
- (function(Command2) {
- function is(obj) {
- if (!obj || typeof obj !== "object") {
- return false;
- }
- return typeof obj.id === "string" && typeof obj.title === "string";
- }
- Command2.is = is;
- })(Command || (Command = {}));
- (function(InlayHintKind3) {
- InlayHintKind3[InlayHintKind3["Type"] = 1] = "Type";
- InlayHintKind3[InlayHintKind3["Parameter"] = 2] = "Parameter";
- })(InlayHintKind || (InlayHintKind = {}));
- LazyTokenizationSupport = class {
- constructor(createSupport) {
- this.createSupport = createSupport;
- this._tokenizationSupport = null;
- }
- dispose() {
- if (this._tokenizationSupport) {
- this._tokenizationSupport.then((support) => {
- if (support) {
- support.dispose();
- }
- });
- }
- }
- get tokenizationSupport() {
- if (!this._tokenizationSupport) {
- this._tokenizationSupport = this.createSupport();
- }
- return this._tokenizationSupport;
- }
- };
- TokenizationRegistry2 = new TokenizationRegistry();
- }
- });
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/editor/common/core/wordCharacterClassifier.js
- function once2(computeFn) {
- const cache = {};
- return (input) => {
- if (!cache.hasOwnProperty(input)) {
- cache[input] = computeFn(input);
- }
- return cache[input];
- };
- }
- var WordCharacterClassifier, getMapForWordSeparators;
- var init_wordCharacterClassifier = __esm({
- "node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/editor/common/core/wordCharacterClassifier.js"() {
- init_characterClassifier();
- WordCharacterClassifier = class extends CharacterClassifier {
- constructor(wordSeparators) {
- super(
- 0
- /* WordCharacterClass.Regular */
- );
- for (let i = 0, len = wordSeparators.length; i < len; i++) {
- this.set(
- wordSeparators.charCodeAt(i),
- 2
- /* WordCharacterClass.WordSeparator */
- );
- }
- this.set(
- 32,
- 1
- /* WordCharacterClass.Whitespace */
- );
- this.set(
- 9,
- 1
- /* WordCharacterClass.Whitespace */
- );
- }
- };
- getMapForWordSeparators = once2((input) => new WordCharacterClassifier(input));
- }
- });
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/editor/common/model.js
- function isITextSnapshot(obj) {
- return obj && typeof obj.read === "function";
- }
- function shouldSynchronizeModel(model) {
- return !model.isTooLargeForSyncing() && !model.isForSimpleWidget;
- }
- var OverviewRulerLane2, GlyphMarginLane2, MinimapPosition2, InjectedTextCursorStops2, TextModelResolvedOptions, FindMatch, ValidAnnotatedEditOperation, SearchData, ApplyEditsResult;
- var init_model = __esm({
- "node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/editor/common/model.js"() {
- init_objects();
- (function(OverviewRulerLane3) {
- OverviewRulerLane3[OverviewRulerLane3["Left"] = 1] = "Left";
- OverviewRulerLane3[OverviewRulerLane3["Center"] = 2] = "Center";
- OverviewRulerLane3[OverviewRulerLane3["Right"] = 4] = "Right";
- OverviewRulerLane3[OverviewRulerLane3["Full"] = 7] = "Full";
- })(OverviewRulerLane2 || (OverviewRulerLane2 = {}));
- (function(GlyphMarginLane3) {
- GlyphMarginLane3[GlyphMarginLane3["Left"] = 1] = "Left";
- GlyphMarginLane3[GlyphMarginLane3["Right"] = 2] = "Right";
- })(GlyphMarginLane2 || (GlyphMarginLane2 = {}));
- (function(MinimapPosition3) {
- MinimapPosition3[MinimapPosition3["Inline"] = 1] = "Inline";
- MinimapPosition3[MinimapPosition3["Gutter"] = 2] = "Gutter";
- })(MinimapPosition2 || (MinimapPosition2 = {}));
- (function(InjectedTextCursorStops3) {
- InjectedTextCursorStops3[InjectedTextCursorStops3["Both"] = 0] = "Both";
- InjectedTextCursorStops3[InjectedTextCursorStops3["Right"] = 1] = "Right";
- InjectedTextCursorStops3[InjectedTextCursorStops3["Left"] = 2] = "Left";
- InjectedTextCursorStops3[InjectedTextCursorStops3["None"] = 3] = "None";
- })(InjectedTextCursorStops2 || (InjectedTextCursorStops2 = {}));
- TextModelResolvedOptions = class {
- get originalIndentSize() {
- return this._indentSizeIsTabSize ? "tabSize" : this.indentSize;
- }
- /**
- * @internal
- */
- constructor(src) {
- this._textModelResolvedOptionsBrand = void 0;
- this.tabSize = Math.max(1, src.tabSize | 0);
- if (src.indentSize === "tabSize") {
- this.indentSize = this.tabSize;
- this._indentSizeIsTabSize = true;
- } else {
- this.indentSize = Math.max(1, src.indentSize | 0);
- this._indentSizeIsTabSize = false;
- }
- this.insertSpaces = Boolean(src.insertSpaces);
- this.defaultEOL = src.defaultEOL | 0;
- this.trimAutoWhitespace = Boolean(src.trimAutoWhitespace);
- this.bracketPairColorizationOptions = src.bracketPairColorizationOptions;
- }
- /**
- * @internal
- */
- equals(other) {
- return this.tabSize === other.tabSize && this._indentSizeIsTabSize === other._indentSizeIsTabSize && this.indentSize === other.indentSize && this.insertSpaces === other.insertSpaces && this.defaultEOL === other.defaultEOL && this.trimAutoWhitespace === other.trimAutoWhitespace && equals(this.bracketPairColorizationOptions, other.bracketPairColorizationOptions);
- }
- /**
- * @internal
- */
- createChangeEvent(newOpts) {
- return {
- tabSize: this.tabSize !== newOpts.tabSize,
- indentSize: this.indentSize !== newOpts.indentSize,
- insertSpaces: this.insertSpaces !== newOpts.insertSpaces,
- trimAutoWhitespace: this.trimAutoWhitespace !== newOpts.trimAutoWhitespace
- };
- }
- };
- FindMatch = class {
- /**
- * @internal
- */
- constructor(range2, matches) {
- this._findMatchBrand = void 0;
- this.range = range2;
- this.matches = matches;
- }
- };
- ValidAnnotatedEditOperation = class {
- constructor(identifier, range2, text, forceMoveMarkers, isAutoWhitespaceEdit, _isTracked) {
- this.identifier = identifier;
- this.range = range2;
- this.text = text;
- this.forceMoveMarkers = forceMoveMarkers;
- this.isAutoWhitespaceEdit = isAutoWhitespaceEdit;
- this._isTracked = _isTracked;
- }
- };
- SearchData = class {
- constructor(regex, wordSeparators, simpleSearch) {
- this.regex = regex;
- this.wordSeparators = wordSeparators;
- this.simpleSearch = simpleSearch;
- }
- };
- ApplyEditsResult = class {
- constructor(reverseEdits, changes, trimAutoWhitespaceLineNumbers) {
- this.reverseEdits = reverseEdits;
- this.changes = changes;
- this.trimAutoWhitespaceLineNumbers = trimAutoWhitespaceLineNumbers;
- }
- };
- }
- });
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/editor/common/model/textModelSearch.js
- function isMultilineRegexSource(searchString) {
- if (!searchString || searchString.length === 0) {
- return false;
- }
- for (let i = 0, len = searchString.length; i < len; i++) {
- const chCode = searchString.charCodeAt(i);
- if (chCode === 10) {
- return true;
- }
- if (chCode === 92) {
- i++;
- if (i >= len) {
- break;
- }
- const nextChCode = searchString.charCodeAt(i);
- if (nextChCode === 110 || nextChCode === 114 || nextChCode === 87) {
- return true;
- }
- }
- }
- return false;
- }
- function createFindMatch(range2, rawMatches, captureMatches) {
- if (!captureMatches) {
- return new FindMatch(range2, null);
- }
- const matches = [];
- for (let i = 0, len = rawMatches.length; i < len; i++) {
- matches[i] = rawMatches[i];
- }
- return new FindMatch(range2, matches);
- }
- function leftIsWordBounday(wordSeparators, text, textLength, matchStartIndex, matchLength) {
- if (matchStartIndex === 0) {
- return true;
- }
- const charBefore = text.charCodeAt(matchStartIndex - 1);
- if (wordSeparators.get(charBefore) !== 0) {
- return true;
- }
- if (charBefore === 13 || charBefore === 10) {
- return true;
- }
- if (matchLength > 0) {
- const firstCharInMatch = text.charCodeAt(matchStartIndex);
- if (wordSeparators.get(firstCharInMatch) !== 0) {
- return true;
- }
- }
- return false;
- }
- function rightIsWordBounday(wordSeparators, text, textLength, matchStartIndex, matchLength) {
- if (matchStartIndex + matchLength === textLength) {
- return true;
- }
- const charAfter = text.charCodeAt(matchStartIndex + matchLength);
- if (wordSeparators.get(charAfter) !== 0) {
- return true;
- }
- if (charAfter === 13 || charAfter === 10) {
- return true;
- }
- if (matchLength > 0) {
- const lastCharInMatch = text.charCodeAt(matchStartIndex + matchLength - 1);
- if (wordSeparators.get(lastCharInMatch) !== 0) {
- return true;
- }
- }
- return false;
- }
- function isValidMatch(wordSeparators, text, textLength, matchStartIndex, matchLength) {
- return leftIsWordBounday(wordSeparators, text, textLength, matchStartIndex, matchLength) && rightIsWordBounday(wordSeparators, text, textLength, matchStartIndex, matchLength);
- }
- var LIMIT_FIND_COUNT, SearchParams, LineFeedCounter, TextModelSearch, Searcher;
- var init_textModelSearch = __esm({
- "node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/editor/common/model/textModelSearch.js"() {
- init_strings();
- init_wordCharacterClassifier();
- init_position();
- init_range();
- init_model();
- LIMIT_FIND_COUNT = 999;
- SearchParams = class {
- constructor(searchString, isRegex, matchCase, wordSeparators) {
- this.searchString = searchString;
- this.isRegex = isRegex;
- this.matchCase = matchCase;
- this.wordSeparators = wordSeparators;
- }
- parseSearchRequest() {
- if (this.searchString === "") {
- return null;
- }
- let multiline;
- if (this.isRegex) {
- multiline = isMultilineRegexSource(this.searchString);
- } else {
- multiline = this.searchString.indexOf("\n") >= 0;
- }
- let regex = null;
- try {
- regex = createRegExp(this.searchString, this.isRegex, {
- matchCase: this.matchCase,
- wholeWord: false,
- multiline,
- global: true,
- unicode: true
- });
- } catch (err) {
- return null;
- }
- if (!regex) {
- return null;
- }
- let canUseSimpleSearch = !this.isRegex && !multiline;
- if (canUseSimpleSearch && this.searchString.toLowerCase() !== this.searchString.toUpperCase()) {
- canUseSimpleSearch = this.matchCase;
- }
- return new SearchData(regex, this.wordSeparators ? getMapForWordSeparators(this.wordSeparators) : null, canUseSimpleSearch ? this.searchString : null);
- }
- };
- LineFeedCounter = class {
- constructor(text) {
- const lineFeedsOffsets = [];
- let lineFeedsOffsetsLen = 0;
- for (let i = 0, textLen = text.length; i < textLen; i++) {
- if (text.charCodeAt(i) === 10) {
- lineFeedsOffsets[lineFeedsOffsetsLen++] = i;
- }
- }
- this._lineFeedsOffsets = lineFeedsOffsets;
- }
- findLineFeedCountBeforeOffset(offset) {
- const lineFeedsOffsets = this._lineFeedsOffsets;
- let min = 0;
- let max = lineFeedsOffsets.length - 1;
- if (max === -1) {
- return 0;
- }
- if (offset <= lineFeedsOffsets[0]) {
- return 0;
- }
- while (min < max) {
- const mid = min + ((max - min) / 2 >> 0);
- if (lineFeedsOffsets[mid] >= offset) {
- max = mid - 1;
- } else {
- if (lineFeedsOffsets[mid + 1] >= offset) {
- min = mid;
- max = mid;
- } else {
- min = mid + 1;
- }
- }
- }
- return min + 1;
- }
- };
- TextModelSearch = class {
- static findMatches(model, searchParams, searchRange, captureMatches, limitResultCount) {
- const searchData = searchParams.parseSearchRequest();
- if (!searchData) {
- return [];
- }
- if (searchData.regex.multiline) {
- return this._doFindMatchesMultiline(model, searchRange, new Searcher(searchData.wordSeparators, searchData.regex), captureMatches, limitResultCount);
- }
- return this._doFindMatchesLineByLine(model, searchRange, searchData, captureMatches, limitResultCount);
- }
- /**
- * Multiline search always executes on the lines concatenated with \n.
- * We must therefore compensate for the count of \n in case the model is CRLF
- */
- static _getMultilineMatchRange(model, deltaOffset, text, lfCounter, matchIndex, match0) {
- let startOffset;
- let lineFeedCountBeforeMatch = 0;
- if (lfCounter) {
- lineFeedCountBeforeMatch = lfCounter.findLineFeedCountBeforeOffset(matchIndex);
- startOffset = deltaOffset + matchIndex + lineFeedCountBeforeMatch;
- } else {
- startOffset = deltaOffset + matchIndex;
- }
- let endOffset;
- if (lfCounter) {
- const lineFeedCountBeforeEndOfMatch = lfCounter.findLineFeedCountBeforeOffset(matchIndex + match0.length);
- const lineFeedCountInMatch = lineFeedCountBeforeEndOfMatch - lineFeedCountBeforeMatch;
- endOffset = startOffset + match0.length + lineFeedCountInMatch;
- } else {
- endOffset = startOffset + match0.length;
- }
- const startPosition = model.getPositionAt(startOffset);
- const endPosition = model.getPositionAt(endOffset);
- return new Range(startPosition.lineNumber, startPosition.column, endPosition.lineNumber, endPosition.column);
- }
- static _doFindMatchesMultiline(model, searchRange, searcher, captureMatches, limitResultCount) {
- const deltaOffset = model.getOffsetAt(searchRange.getStartPosition());
- const text = model.getValueInRange(
- searchRange,
- 1
- /* EndOfLinePreference.LF */
- );
- const lfCounter = model.getEOL() === "\r\n" ? new LineFeedCounter(text) : null;
- const result = [];
- let counter = 0;
- let m;
- searcher.reset(0);
- while (m = searcher.next(text)) {
- result[counter++] = createFindMatch(this._getMultilineMatchRange(model, deltaOffset, text, lfCounter, m.index, m[0]), m, captureMatches);
- if (counter >= limitResultCount) {
- return result;
- }
- }
- return result;
- }
- static _doFindMatchesLineByLine(model, searchRange, searchData, captureMatches, limitResultCount) {
- const result = [];
- let resultLen = 0;
- if (searchRange.startLineNumber === searchRange.endLineNumber) {
- const text2 = model.getLineContent(searchRange.startLineNumber).substring(searchRange.startColumn - 1, searchRange.endColumn - 1);
- resultLen = this._findMatchesInLine(searchData, text2, searchRange.startLineNumber, searchRange.startColumn - 1, resultLen, result, captureMatches, limitResultCount);
- return result;
- }
- const text = model.getLineContent(searchRange.startLineNumber).substring(searchRange.startColumn - 1);
- resultLen = this._findMatchesInLine(searchData, text, searchRange.startLineNumber, searchRange.startColumn - 1, resultLen, result, captureMatches, limitResultCount);
- for (let lineNumber = searchRange.startLineNumber + 1; lineNumber < searchRange.endLineNumber && resultLen < limitResultCount; lineNumber++) {
- resultLen = this._findMatchesInLine(searchData, model.getLineContent(lineNumber), lineNumber, 0, resultLen, result, captureMatches, limitResultCount);
- }
- if (resultLen < limitResultCount) {
- const text2 = model.getLineContent(searchRange.endLineNumber).substring(0, searchRange.endColumn - 1);
- resultLen = this._findMatchesInLine(searchData, text2, searchRange.endLineNumber, 0, resultLen, result, captureMatches, limitResultCount);
- }
- return result;
- }
- static _findMatchesInLine(searchData, text, lineNumber, deltaOffset, resultLen, result, captureMatches, limitResultCount) {
- const wordSeparators = searchData.wordSeparators;
- if (!captureMatches && searchData.simpleSearch) {
- const searchString = searchData.simpleSearch;
- const searchStringLen = searchString.length;
- const textLength = text.length;
- let lastMatchIndex = -searchStringLen;
- while ((lastMatchIndex = text.indexOf(searchString, lastMatchIndex + searchStringLen)) !== -1) {
- if (!wordSeparators || isValidMatch(wordSeparators, text, textLength, lastMatchIndex, searchStringLen)) {
- result[resultLen++] = new FindMatch(new Range(lineNumber, lastMatchIndex + 1 + deltaOffset, lineNumber, lastMatchIndex + 1 + searchStringLen + deltaOffset), null);
- if (resultLen >= limitResultCount) {
- return resultLen;
- }
- }
- }
- return resultLen;
- }
- const searcher = new Searcher(searchData.wordSeparators, searchData.regex);
- let m;
- searcher.reset(0);
- do {
- m = searcher.next(text);
- if (m) {
- result[resultLen++] = createFindMatch(new Range(lineNumber, m.index + 1 + deltaOffset, lineNumber, m.index + 1 + m[0].length + deltaOffset), m, captureMatches);
- if (resultLen >= limitResultCount) {
- return resultLen;
- }
- }
- } while (m);
- return resultLen;
- }
- static findNextMatch(model, searchParams, searchStart, captureMatches) {
- const searchData = searchParams.parseSearchRequest();
- if (!searchData) {
- return null;
- }
- const searcher = new Searcher(searchData.wordSeparators, searchData.regex);
- if (searchData.regex.multiline) {
- return this._doFindNextMatchMultiline(model, searchStart, searcher, captureMatches);
- }
- return this._doFindNextMatchLineByLine(model, searchStart, searcher, captureMatches);
- }
- static _doFindNextMatchMultiline(model, searchStart, searcher, captureMatches) {
- const searchTextStart = new Position(searchStart.lineNumber, 1);
- const deltaOffset = model.getOffsetAt(searchTextStart);
- const lineCount = model.getLineCount();
- const text = model.getValueInRange(
- new Range(searchTextStart.lineNumber, searchTextStart.column, lineCount, model.getLineMaxColumn(lineCount)),
- 1
- /* EndOfLinePreference.LF */
- );
- const lfCounter = model.getEOL() === "\r\n" ? new LineFeedCounter(text) : null;
- searcher.reset(searchStart.column - 1);
- const m = searcher.next(text);
- if (m) {
- return createFindMatch(this._getMultilineMatchRange(model, deltaOffset, text, lfCounter, m.index, m[0]), m, captureMatches);
- }
- if (searchStart.lineNumber !== 1 || searchStart.column !== 1) {
- return this._doFindNextMatchMultiline(model, new Position(1, 1), searcher, captureMatches);
- }
- return null;
- }
- static _doFindNextMatchLineByLine(model, searchStart, searcher, captureMatches) {
- const lineCount = model.getLineCount();
- const startLineNumber = searchStart.lineNumber;
- const text = model.getLineContent(startLineNumber);
- const r = this._findFirstMatchInLine(searcher, text, startLineNumber, searchStart.column, captureMatches);
- if (r) {
- return r;
- }
- for (let i = 1; i <= lineCount; i++) {
- const lineIndex = (startLineNumber + i - 1) % lineCount;
- const text2 = model.getLineContent(lineIndex + 1);
- const r2 = this._findFirstMatchInLine(searcher, text2, lineIndex + 1, 1, captureMatches);
- if (r2) {
- return r2;
- }
- }
- return null;
- }
- static _findFirstMatchInLine(searcher, text, lineNumber, fromColumn, captureMatches) {
- searcher.reset(fromColumn - 1);
- const m = searcher.next(text);
- if (m) {
- return createFindMatch(new Range(lineNumber, m.index + 1, lineNumber, m.index + 1 + m[0].length), m, captureMatches);
- }
- return null;
- }
- static findPreviousMatch(model, searchParams, searchStart, captureMatches) {
- const searchData = searchParams.parseSearchRequest();
- if (!searchData) {
- return null;
- }
- const searcher = new Searcher(searchData.wordSeparators, searchData.regex);
- if (searchData.regex.multiline) {
- return this._doFindPreviousMatchMultiline(model, searchStart, searcher, captureMatches);
- }
- return this._doFindPreviousMatchLineByLine(model, searchStart, searcher, captureMatches);
- }
- static _doFindPreviousMatchMultiline(model, searchStart, searcher, captureMatches) {
- const matches = this._doFindMatchesMultiline(model, new Range(1, 1, searchStart.lineNumber, searchStart.column), searcher, captureMatches, 10 * LIMIT_FIND_COUNT);
- if (matches.length > 0) {
- return matches[matches.length - 1];
- }
- const lineCount = model.getLineCount();
- if (searchStart.lineNumber !== lineCount || searchStart.column !== model.getLineMaxColumn(lineCount)) {
- return this._doFindPreviousMatchMultiline(model, new Position(lineCount, model.getLineMaxColumn(lineCount)), searcher, captureMatches);
- }
- return null;
- }
- static _doFindPreviousMatchLineByLine(model, searchStart, searcher, captureMatches) {
- const lineCount = model.getLineCount();
- const startLineNumber = searchStart.lineNumber;
- const text = model.getLineContent(startLineNumber).substring(0, searchStart.column - 1);
- const r = this._findLastMatchInLine(searcher, text, startLineNumber, captureMatches);
- if (r) {
- return r;
- }
- for (let i = 1; i <= lineCount; i++) {
- const lineIndex = (lineCount + startLineNumber - i - 1) % lineCount;
- const text2 = model.getLineContent(lineIndex + 1);
- const r2 = this._findLastMatchInLine(searcher, text2, lineIndex + 1, captureMatches);
- if (r2) {
- return r2;
- }
- }
- return null;
- }
- static _findLastMatchInLine(searcher, text, lineNumber, captureMatches) {
- let bestResult = null;
- let m;
- searcher.reset(0);
- while (m = searcher.next(text)) {
- bestResult = createFindMatch(new Range(lineNumber, m.index + 1, lineNumber, m.index + 1 + m[0].length), m, captureMatches);
- }
- return bestResult;
- }
- };
- Searcher = class {
- constructor(wordSeparators, searchRegex) {
- this._wordSeparators = wordSeparators;
- this._searchRegex = searchRegex;
- this._prevMatchStartIndex = -1;
- this._prevMatchLength = 0;
- }
- reset(lastIndex2) {
- this._searchRegex.lastIndex = lastIndex2;
- this._prevMatchStartIndex = -1;
- this._prevMatchLength = 0;
- }
- next(text) {
- const textLength = text.length;
- let m;
- do {
- if (this._prevMatchStartIndex + this._prevMatchLength === textLength) {
- return null;
- }
- m = this._searchRegex.exec(text);
- if (!m) {
- return null;
- }
- const matchStartIndex = m.index;
- const matchLength = m[0].length;
- if (matchStartIndex === this._prevMatchStartIndex && matchLength === this._prevMatchLength) {
- if (matchLength === 0) {
- if (getNextCodePoint(text, textLength, this._searchRegex.lastIndex) > 65535) {
- this._searchRegex.lastIndex += 2;
- } else {
- this._searchRegex.lastIndex += 1;
- }
- continue;
- }
- return null;
- }
- this._prevMatchStartIndex = matchStartIndex;
- this._prevMatchLength = matchLength;
- if (!this._wordSeparators || isValidMatch(this._wordSeparators, text, textLength, matchStartIndex, matchLength)) {
- return m;
- }
- } while (m);
- return null;
- }
- };
- }
- });
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/base/common/assert.js
- function ok(value, message) {
- if (!value) {
- throw new Error(message ? `Assertion failed (${message})` : "Assertion Failed");
- }
- }
- function assertNever(value, message = "Unreachable") {
- throw new Error(message);
- }
- function assertFn(condition) {
- if (!condition()) {
- debugger;
- condition();
- onUnexpectedError(new BugIndicatingError("Assertion Failed"));
- }
- }
- function checkAdjacentItems(items, predicate) {
- let i = 0;
- while (i < items.length - 1) {
- const a = items[i];
- const b = items[i + 1];
- if (!predicate(a, b)) {
- return false;
- }
- i++;
- }
- return true;
- }
- var init_assert = __esm({
- "node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/base/common/assert.js"() {
- init_errors();
- }
- });
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/editor/common/core/lineRange.js
- var LineRange;
- var init_lineRange = __esm({
- "node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/editor/common/core/lineRange.js"() {
- init_errors();
- LineRange = class _LineRange {
- /**
- * @param lineRanges An array of sorted line ranges.
- */
- static joinMany(lineRanges) {
- if (lineRanges.length === 0) {
- return [];
- }
- let result = lineRanges[0];
- for (let i = 1; i < lineRanges.length; i++) {
- result = this.join(result, lineRanges[i]);
- }
- return result;
- }
- /**
- * @param lineRanges1 Must be sorted.
- * @param lineRanges2 Must be sorted.
- */
- static join(lineRanges1, lineRanges2) {
- if (lineRanges1.length === 0) {
- return lineRanges2;
- }
- if (lineRanges2.length === 0) {
- return lineRanges1;
- }
- const result = [];
- let i1 = 0;
- let i2 = 0;
- let current = null;
- while (i1 < lineRanges1.length || i2 < lineRanges2.length) {
- let next = null;
- if (i1 < lineRanges1.length && i2 < lineRanges2.length) {
- const lineRange1 = lineRanges1[i1];
- const lineRange2 = lineRanges2[i2];
- if (lineRange1.startLineNumber < lineRange2.startLineNumber) {
- next = lineRange1;
- i1++;
- } else {
- next = lineRange2;
- i2++;
- }
- } else if (i1 < lineRanges1.length) {
- next = lineRanges1[i1];
- i1++;
- } else {
- next = lineRanges2[i2];
- i2++;
- }
- if (current === null) {
- current = next;
- } else {
- if (current.endLineNumberExclusive >= next.startLineNumber) {
- current = new _LineRange(current.startLineNumber, Math.max(current.endLineNumberExclusive, next.endLineNumberExclusive));
- } else {
- result.push(current);
- current = next;
- }
- }
- }
- if (current !== null) {
- result.push(current);
- }
- return result;
- }
- constructor(startLineNumber, endLineNumberExclusive) {
- if (startLineNumber > endLineNumberExclusive) {
- throw new BugIndicatingError(`startLineNumber ${startLineNumber} cannot be after endLineNumberExclusive ${endLineNumberExclusive}`);
- }
- this.startLineNumber = startLineNumber;
- this.endLineNumberExclusive = endLineNumberExclusive;
- }
- /**
- * Indicates if this line range contains the given line number.
- */
- contains(lineNumber) {
- return this.startLineNumber <= lineNumber && lineNumber < this.endLineNumberExclusive;
- }
- /**
- * Indicates if this line range is empty.
- */
- get isEmpty() {
- return this.startLineNumber === this.endLineNumberExclusive;
- }
- /**
- * Moves this line range by the given offset of line numbers.
- */
- delta(offset) {
- return new _LineRange(this.startLineNumber + offset, this.endLineNumberExclusive + offset);
- }
- /**
- * The number of lines this line range spans.
- */
- get length() {
- return this.endLineNumberExclusive - this.startLineNumber;
- }
- /**
- * Creates a line range that combines this and the given line range.
- */
- join(other) {
- return new _LineRange(Math.min(this.startLineNumber, other.startLineNumber), Math.max(this.endLineNumberExclusive, other.endLineNumberExclusive));
- }
- toString() {
- return `[${this.startLineNumber},${this.endLineNumberExclusive})`;
- }
- /**
- * The resulting range is empty if the ranges do not intersect, but touch.
- * If the ranges don't even touch, the result is undefined.
- */
- intersect(other) {
- const startLineNumber = Math.max(this.startLineNumber, other.startLineNumber);
- const endLineNumberExclusive = Math.min(this.endLineNumberExclusive, other.endLineNumberExclusive);
- if (startLineNumber <= endLineNumberExclusive) {
- return new _LineRange(startLineNumber, endLineNumberExclusive);
- }
- return void 0;
- }
- overlapOrTouch(other) {
- return this.startLineNumber <= other.endLineNumberExclusive && other.startLineNumber <= this.endLineNumberExclusive;
- }
- equals(b) {
- return this.startLineNumber === b.startLineNumber && this.endLineNumberExclusive === b.endLineNumberExclusive;
- }
- };
- }
- });
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/editor/common/core/offsetRange.js
- var OffsetRange;
- var init_offsetRange = __esm({
- "node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/editor/common/core/offsetRange.js"() {
- init_errors();
- OffsetRange = class _OffsetRange {
- static addRange(range2, sortedRanges) {
- let i = 0;
- while (i < sortedRanges.length && sortedRanges[i].endExclusive < range2.start) {
- i++;
- }
- let j = i;
- while (j < sortedRanges.length && sortedRanges[j].start <= range2.endExclusive) {
- j++;
- }
- if (i === j) {
- sortedRanges.splice(i, 0, range2);
- } else {
- const start = Math.min(range2.start, sortedRanges[i].start);
- const end = Math.max(range2.endExclusive, sortedRanges[j - 1].endExclusive);
- sortedRanges.splice(i, j - i, new _OffsetRange(start, end));
- }
- }
- static tryCreate(start, endExclusive) {
- if (start > endExclusive) {
- return void 0;
- }
- return new _OffsetRange(start, endExclusive);
- }
- constructor(start, endExclusive) {
- this.start = start;
- this.endExclusive = endExclusive;
- if (start > endExclusive) {
- throw new BugIndicatingError(`Invalid range: ${this.toString()}`);
- }
- }
- get isEmpty() {
- return this.start === this.endExclusive;
- }
- delta(offset) {
- return new _OffsetRange(this.start + offset, this.endExclusive + offset);
- }
- get length() {
- return this.endExclusive - this.start;
- }
- toString() {
- return `[${this.start}, ${this.endExclusive})`;
- }
- equals(other) {
- return this.start === other.start && this.endExclusive === other.endExclusive;
- }
- containsRange(other) {
- return this.start <= other.start && other.endExclusive <= this.endExclusive;
- }
- /**
- * for all numbers n: range1.contains(n) or range2.contains(n) => range1.join(range2).contains(n)
- * The joined range is the smallest range that contains both ranges.
- */
- join(other) {
- return new _OffsetRange(Math.min(this.start, other.start), Math.max(this.endExclusive, other.endExclusive));
- }
- /**
- * for all numbers n: range1.contains(n) and range2.contains(n) <=> range1.intersect(range2).contains(n)
- *
- * The resulting range is empty if the ranges do not intersect, but touch.
- * If the ranges don't even touch, the result is undefined.
- */
- intersect(other) {
- const start = Math.max(this.start, other.start);
- const end = Math.min(this.endExclusive, other.endExclusive);
- if (start <= end) {
- return new _OffsetRange(start, end);
- }
- return void 0;
- }
- };
- }
- });
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/base/common/color.js
- function roundFloat(number, decimalPoints) {
- const decimal = Math.pow(10, decimalPoints);
- return Math.round(number * decimal) / decimal;
- }
- var RGBA, HSLA, HSVA, Color;
- var init_color = __esm({
- "node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/base/common/color.js"() {
- RGBA = class {
- constructor(r, g, b, a = 1) {
- this._rgbaBrand = void 0;
- this.r = Math.min(255, Math.max(0, r)) | 0;
- this.g = Math.min(255, Math.max(0, g)) | 0;
- this.b = Math.min(255, Math.max(0, b)) | 0;
- this.a = roundFloat(Math.max(Math.min(1, a), 0), 3);
- }
- static equals(a, b) {
- return a.r === b.r && a.g === b.g && a.b === b.b && a.a === b.a;
- }
- };
- HSLA = class _HSLA {
- constructor(h, s, l, a) {
- this._hslaBrand = void 0;
- this.h = Math.max(Math.min(360, h), 0) | 0;
- this.s = roundFloat(Math.max(Math.min(1, s), 0), 3);
- this.l = roundFloat(Math.max(Math.min(1, l), 0), 3);
- this.a = roundFloat(Math.max(Math.min(1, a), 0), 3);
- }
- static equals(a, b) {
- return a.h === b.h && a.s === b.s && a.l === b.l && a.a === b.a;
- }
- /**
- * Converts an RGB color value to HSL. Conversion formula
- * adapted from http://en.wikipedia.org/wiki/HSL_color_space.
- * Assumes r, g, and b are contained in the set [0, 255] and
- * returns h in the set [0, 360], s, and l in the set [0, 1].
- */
- static fromRGBA(rgba) {
- const r = rgba.r / 255;
- const g = rgba.g / 255;
- const b = rgba.b / 255;
- const a = rgba.a;
- const max = Math.max(r, g, b);
- const min = Math.min(r, g, b);
- let h = 0;
- let s = 0;
- const l = (min + max) / 2;
- const chroma = max - min;
- if (chroma > 0) {
- s = Math.min(l <= 0.5 ? chroma / (2 * l) : chroma / (2 - 2 * l), 1);
- switch (max) {
- case r:
- h = (g - b) / chroma + (g < b ? 6 : 0);
- break;
- case g:
- h = (b - r) / chroma + 2;
- break;
- case b:
- h = (r - g) / chroma + 4;
- break;
- }
- h *= 60;
- h = Math.round(h);
- }
- return new _HSLA(h, s, l, a);
- }
- static _hue2rgb(p, q, t) {
- if (t < 0) {
- t += 1;
- }
- if (t > 1) {
- t -= 1;
- }
- if (t < 1 / 6) {
- return p + (q - p) * 6 * t;
- }
- if (t < 1 / 2) {
- return q;
- }
- if (t < 2 / 3) {
- return p + (q - p) * (2 / 3 - t) * 6;
- }
- return p;
- }
- /**
- * Converts an HSL color value to RGB. Conversion formula
- * adapted from http://en.wikipedia.org/wiki/HSL_color_space.
- * Assumes h in the set [0, 360] s, and l are contained in the set [0, 1] and
- * returns r, g, and b in the set [0, 255].
- */
- static toRGBA(hsla) {
- const h = hsla.h / 360;
- const { s, l, a } = hsla;
- let r, g, b;
- if (s === 0) {
- r = g = b = l;
- } else {
- const q = l < 0.5 ? l * (1 + s) : l + s - l * s;
- const p = 2 * l - q;
- r = _HSLA._hue2rgb(p, q, h + 1 / 3);
- g = _HSLA._hue2rgb(p, q, h);
- b = _HSLA._hue2rgb(p, q, h - 1 / 3);
- }
- return new RGBA(Math.round(r * 255), Math.round(g * 255), Math.round(b * 255), a);
- }
- };
- HSVA = class _HSVA {
- constructor(h, s, v, a) {
- this._hsvaBrand = void 0;
- this.h = Math.max(Math.min(360, h), 0) | 0;
- this.s = roundFloat(Math.max(Math.min(1, s), 0), 3);
- this.v = roundFloat(Math.max(Math.min(1, v), 0), 3);
- this.a = roundFloat(Math.max(Math.min(1, a), 0), 3);
- }
- static equals(a, b) {
- return a.h === b.h && a.s === b.s && a.v === b.v && a.a === b.a;
- }
- // from http://www.rapidtables.com/convert/color/rgb-to-hsv.htm
- static fromRGBA(rgba) {
- const r = rgba.r / 255;
- const g = rgba.g / 255;
- const b = rgba.b / 255;
- const cmax = Math.max(r, g, b);
- const cmin = Math.min(r, g, b);
- const delta = cmax - cmin;
- const s = cmax === 0 ? 0 : delta / cmax;
- let m;
- if (delta === 0) {
- m = 0;
- } else if (cmax === r) {
- m = ((g - b) / delta % 6 + 6) % 6;
- } else if (cmax === g) {
- m = (b - r) / delta + 2;
- } else {
- m = (r - g) / delta + 4;
- }
- return new _HSVA(Math.round(m * 60), s, cmax, rgba.a);
- }
- // from http://www.rapidtables.com/convert/color/hsv-to-rgb.htm
- static toRGBA(hsva) {
- const { h, s, v, a } = hsva;
- const c = v * s;
- const x = c * (1 - Math.abs(h / 60 % 2 - 1));
- const m = v - c;
- let [r, g, b] = [0, 0, 0];
- if (h < 60) {
- r = c;
- g = x;
- } else if (h < 120) {
- r = x;
- g = c;
- } else if (h < 180) {
- g = c;
- b = x;
- } else if (h < 240) {
- g = x;
- b = c;
- } else if (h < 300) {
- r = x;
- b = c;
- } else if (h <= 360) {
- r = c;
- b = x;
- }
- r = Math.round((r + m) * 255);
- g = Math.round((g + m) * 255);
- b = Math.round((b + m) * 255);
- return new RGBA(r, g, b, a);
- }
- };
- Color = class _Color {
- static fromHex(hex) {
- return _Color.Format.CSS.parseHex(hex) || _Color.red;
- }
- static equals(a, b) {
- if (!a && !b) {
- return true;
- }
- if (!a || !b) {
- return false;
- }
- return a.equals(b);
- }
- get hsla() {
- if (this._hsla) {
- return this._hsla;
- } else {
- return HSLA.fromRGBA(this.rgba);
- }
- }
- get hsva() {
- if (this._hsva) {
- return this._hsva;
- }
- return HSVA.fromRGBA(this.rgba);
- }
- constructor(arg) {
- if (!arg) {
- throw new Error("Color needs a value");
- } else if (arg instanceof RGBA) {
- this.rgba = arg;
- } else if (arg instanceof HSLA) {
- this._hsla = arg;
- this.rgba = HSLA.toRGBA(arg);
- } else if (arg instanceof HSVA) {
- this._hsva = arg;
- this.rgba = HSVA.toRGBA(arg);
- } else {
- throw new Error("Invalid color ctor argument");
- }
- }
- equals(other) {
- return !!other && RGBA.equals(this.rgba, other.rgba) && HSLA.equals(this.hsla, other.hsla) && HSVA.equals(this.hsva, other.hsva);
- }
- /**
- * http://www.w3.org/TR/WCAG20/#relativeluminancedef
- * Returns the number in the set [0, 1]. O => Darkest Black. 1 => Lightest white.
- */
- getRelativeLuminance() {
- const R = _Color._relativeLuminanceForComponent(this.rgba.r);
- const G = _Color._relativeLuminanceForComponent(this.rgba.g);
- const B = _Color._relativeLuminanceForComponent(this.rgba.b);
- const luminance = 0.2126 * R + 0.7152 * G + 0.0722 * B;
- return roundFloat(luminance, 4);
- }
- static _relativeLuminanceForComponent(color) {
- const c = color / 255;
- return c <= 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4);
- }
- /**
- * http://24ways.org/2010/calculating-color-contrast
- * Return 'true' if lighter color otherwise 'false'
- */
- isLighter() {
- const yiq = (this.rgba.r * 299 + this.rgba.g * 587 + this.rgba.b * 114) / 1e3;
- return yiq >= 128;
- }
- isLighterThan(another) {
- const lum1 = this.getRelativeLuminance();
- const lum2 = another.getRelativeLuminance();
- return lum1 > lum2;
- }
- isDarkerThan(another) {
- const lum1 = this.getRelativeLuminance();
- const lum2 = another.getRelativeLuminance();
- return lum1 < lum2;
- }
- lighten(factor) {
- return new _Color(new HSLA(this.hsla.h, this.hsla.s, this.hsla.l + this.hsla.l * factor, this.hsla.a));
- }
- darken(factor) {
- return new _Color(new HSLA(this.hsla.h, this.hsla.s, this.hsla.l - this.hsla.l * factor, this.hsla.a));
- }
- transparent(factor) {
- const { r, g, b, a } = this.rgba;
- return new _Color(new RGBA(r, g, b, a * factor));
- }
- isTransparent() {
- return this.rgba.a === 0;
- }
- isOpaque() {
- return this.rgba.a === 1;
- }
- opposite() {
- return new _Color(new RGBA(255 - this.rgba.r, 255 - this.rgba.g, 255 - this.rgba.b, this.rgba.a));
- }
- makeOpaque(opaqueBackground) {
- if (this.isOpaque() || opaqueBackground.rgba.a !== 1) {
- return this;
- }
- const { r, g, b, a } = this.rgba;
- return new _Color(new RGBA(opaqueBackground.rgba.r - a * (opaqueBackground.rgba.r - r), opaqueBackground.rgba.g - a * (opaqueBackground.rgba.g - g), opaqueBackground.rgba.b - a * (opaqueBackground.rgba.b - b), 1));
- }
- toString() {
- if (!this._toString) {
- this._toString = _Color.Format.CSS.format(this);
- }
- return this._toString;
- }
- static getLighterColor(of, relative2, factor) {
- if (of.isLighterThan(relative2)) {
- return of;
- }
- factor = factor ? factor : 0.5;
- const lum1 = of.getRelativeLuminance();
- const lum2 = relative2.getRelativeLuminance();
- factor = factor * (lum2 - lum1) / lum2;
- return of.lighten(factor);
- }
- static getDarkerColor(of, relative2, factor) {
- if (of.isDarkerThan(relative2)) {
- return of;
- }
- factor = factor ? factor : 0.5;
- const lum1 = of.getRelativeLuminance();
- const lum2 = relative2.getRelativeLuminance();
- factor = factor * (lum1 - lum2) / lum1;
- return of.darken(factor);
- }
- };
- Color.white = new Color(new RGBA(255, 255, 255, 1));
- Color.black = new Color(new RGBA(0, 0, 0, 1));
- Color.red = new Color(new RGBA(255, 0, 0, 1));
- Color.blue = new Color(new RGBA(0, 0, 255, 1));
- Color.green = new Color(new RGBA(0, 255, 0, 1));
- Color.cyan = new Color(new RGBA(0, 255, 255, 1));
- Color.lightgrey = new Color(new RGBA(211, 211, 211, 1));
- Color.transparent = new Color(new RGBA(0, 0, 0, 0));
- (function(Color2) {
- let Format;
- (function(Format2) {
- let CSS;
- (function(CSS2) {
- function formatRGB(color) {
- if (color.rgba.a === 1) {
- return `rgb(${color.rgba.r}, ${color.rgba.g}, ${color.rgba.b})`;
- }
- return Color2.Format.CSS.formatRGBA(color);
- }
- CSS2.formatRGB = formatRGB;
- function formatRGBA(color) {
- return `rgba(${color.rgba.r}, ${color.rgba.g}, ${color.rgba.b}, ${+color.rgba.a.toFixed(2)})`;
- }
- CSS2.formatRGBA = formatRGBA;
- function formatHSL(color) {
- if (color.hsla.a === 1) {
- return `hsl(${color.hsla.h}, ${(color.hsla.s * 100).toFixed(2)}%, ${(color.hsla.l * 100).toFixed(2)}%)`;
- }
- return Color2.Format.CSS.formatHSLA(color);
- }
- CSS2.formatHSL = formatHSL;
- function formatHSLA(color) {
- return `hsla(${color.hsla.h}, ${(color.hsla.s * 100).toFixed(2)}%, ${(color.hsla.l * 100).toFixed(2)}%, ${color.hsla.a.toFixed(2)})`;
- }
- CSS2.formatHSLA = formatHSLA;
- function _toTwoDigitHex(n) {
- const r = n.toString(16);
- return r.length !== 2 ? "0" + r : r;
- }
- function formatHex(color) {
- return `#${_toTwoDigitHex(color.rgba.r)}${_toTwoDigitHex(color.rgba.g)}${_toTwoDigitHex(color.rgba.b)}`;
- }
- CSS2.formatHex = formatHex;
- function formatHexA(color, compact = false) {
- if (compact && color.rgba.a === 1) {
- return Color2.Format.CSS.formatHex(color);
- }
- return `#${_toTwoDigitHex(color.rgba.r)}${_toTwoDigitHex(color.rgba.g)}${_toTwoDigitHex(color.rgba.b)}${_toTwoDigitHex(Math.round(color.rgba.a * 255))}`;
- }
- CSS2.formatHexA = formatHexA;
- function format2(color) {
- if (color.isOpaque()) {
- return Color2.Format.CSS.formatHex(color);
- }
- return Color2.Format.CSS.formatRGBA(color);
- }
- CSS2.format = format2;
- function parseHex(hex) {
- const length = hex.length;
- if (length === 0) {
- return null;
- }
- if (hex.charCodeAt(0) !== 35) {
- return null;
- }
- if (length === 7) {
- const r = 16 * _parseHexDigit(hex.charCodeAt(1)) + _parseHexDigit(hex.charCodeAt(2));
- const g = 16 * _parseHexDigit(hex.charCodeAt(3)) + _parseHexDigit(hex.charCodeAt(4));
- const b = 16 * _parseHexDigit(hex.charCodeAt(5)) + _parseHexDigit(hex.charCodeAt(6));
- return new Color2(new RGBA(r, g, b, 1));
- }
- if (length === 9) {
- const r = 16 * _parseHexDigit(hex.charCodeAt(1)) + _parseHexDigit(hex.charCodeAt(2));
- const g = 16 * _parseHexDigit(hex.charCodeAt(3)) + _parseHexDigit(hex.charCodeAt(4));
- const b = 16 * _parseHexDigit(hex.charCodeAt(5)) + _parseHexDigit(hex.charCodeAt(6));
- const a = 16 * _parseHexDigit(hex.charCodeAt(7)) + _parseHexDigit(hex.charCodeAt(8));
- return new Color2(new RGBA(r, g, b, a / 255));
- }
- if (length === 4) {
- const r = _parseHexDigit(hex.charCodeAt(1));
- const g = _parseHexDigit(hex.charCodeAt(2));
- const b = _parseHexDigit(hex.charCodeAt(3));
- return new Color2(new RGBA(16 * r + r, 16 * g + g, 16 * b + b));
- }
- if (length === 5) {
- const r = _parseHexDigit(hex.charCodeAt(1));
- const g = _parseHexDigit(hex.charCodeAt(2));
- const b = _parseHexDigit(hex.charCodeAt(3));
- const a = _parseHexDigit(hex.charCodeAt(4));
- return new Color2(new RGBA(16 * r + r, 16 * g + g, 16 * b + b, (16 * a + a) / 255));
- }
- return null;
- }
- CSS2.parseHex = parseHex;
- function _parseHexDigit(charCode) {
- switch (charCode) {
- case 48:
- return 0;
- case 49:
- return 1;
- case 50:
- return 2;
- case 51:
- return 3;
- case 52:
- return 4;
- case 53:
- return 5;
- case 54:
- return 6;
- case 55:
- return 7;
- case 56:
- return 8;
- case 57:
- return 9;
- case 97:
- return 10;
- case 65:
- return 10;
- case 98:
- return 11;
- case 66:
- return 11;
- case 99:
- return 12;
- case 67:
- return 12;
- case 100:
- return 13;
- case 68:
- return 13;
- case 101:
- return 14;
- case 69:
- return 14;
- case 102:
- return 15;
- case 70:
- return 15;
- }
- return 0;
- }
- })(CSS = Format2.CSS || (Format2.CSS = {}));
- })(Format = Color2.Format || (Color2.Format = {}));
- })(Color || (Color = {}));
- }
- });
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/base/common/worker/simpleWorker.js
- init_errors();
- init_event();
- init_lifecycle();
- init_objects();
- init_platform();
- init_strings();
- var INITIALIZE = "$initialize";
- var webWorkerWarningLogged = false;
- function logOnceWebWorkerWarning(err) {
- if (!isWeb) {
- return;
- }
- if (!webWorkerWarningLogged) {
- webWorkerWarningLogged = true;
- console.warn("Could not create web worker(s). Falling back to loading web worker code in main thread, which might cause UI freezes. Please see https://github.com/microsoft/monaco-editor#faq");
- }
- console.warn(err.message);
- }
- var RequestMessage = class {
- constructor(vsWorker, req, method, args) {
- this.vsWorker = vsWorker;
- this.req = req;
- this.method = method;
- this.args = args;
- this.type = 0;
- }
- };
- var ReplyMessage = class {
- constructor(vsWorker, seq, res, err) {
- this.vsWorker = vsWorker;
- this.seq = seq;
- this.res = res;
- this.err = err;
- this.type = 1;
- }
- };
- var SubscribeEventMessage = class {
- constructor(vsWorker, req, eventName, arg) {
- this.vsWorker = vsWorker;
- this.req = req;
- this.eventName = eventName;
- this.arg = arg;
- this.type = 2;
- }
- };
- var EventMessage = class {
- constructor(vsWorker, req, event) {
- this.vsWorker = vsWorker;
- this.req = req;
- this.event = event;
- this.type = 3;
- }
- };
- var UnsubscribeEventMessage = class {
- constructor(vsWorker, req) {
- this.vsWorker = vsWorker;
- this.req = req;
- this.type = 4;
- }
- };
- var SimpleWorkerProtocol = class {
- constructor(handler) {
- this._workerId = -1;
- this._handler = handler;
- this._lastSentReq = 0;
- this._pendingReplies = /* @__PURE__ */ Object.create(null);
- this._pendingEmitters = /* @__PURE__ */ new Map();
- this._pendingEvents = /* @__PURE__ */ new Map();
- }
- setWorkerId(workerId) {
- this._workerId = workerId;
- }
- sendMessage(method, args) {
- const req = String(++this._lastSentReq);
- return new Promise((resolve2, reject) => {
- this._pendingReplies[req] = {
- resolve: resolve2,
- reject
- };
- this._send(new RequestMessage(this._workerId, req, method, args));
- });
- }
- listen(eventName, arg) {
- let req = null;
- const emitter = new Emitter({
- onWillAddFirstListener: () => {
- req = String(++this._lastSentReq);
- this._pendingEmitters.set(req, emitter);
- this._send(new SubscribeEventMessage(this._workerId, req, eventName, arg));
- },
- onDidRemoveLastListener: () => {
- this._pendingEmitters.delete(req);
- this._send(new UnsubscribeEventMessage(this._workerId, req));
- req = null;
- }
- });
- return emitter.event;
- }
- handleMessage(message) {
- if (!message || !message.vsWorker) {
- return;
- }
- if (this._workerId !== -1 && message.vsWorker !== this._workerId) {
- return;
- }
- this._handleMessage(message);
- }
- _handleMessage(msg) {
- switch (msg.type) {
- case 1:
- return this._handleReplyMessage(msg);
- case 0:
- return this._handleRequestMessage(msg);
- case 2:
- return this._handleSubscribeEventMessage(msg);
- case 3:
- return this._handleEventMessage(msg);
- case 4:
- return this._handleUnsubscribeEventMessage(msg);
- }
- }
- _handleReplyMessage(replyMessage) {
- if (!this._pendingReplies[replyMessage.seq]) {
- console.warn("Got reply to unknown seq");
- return;
- }
- const reply = this._pendingReplies[replyMessage.seq];
- delete this._pendingReplies[replyMessage.seq];
- if (replyMessage.err) {
- let err = replyMessage.err;
- if (replyMessage.err.$isError) {
- err = new Error();
- err.name = replyMessage.err.name;
- err.message = replyMessage.err.message;
- err.stack = replyMessage.err.stack;
- }
- reply.reject(err);
- return;
- }
- reply.resolve(replyMessage.res);
- }
- _handleRequestMessage(requestMessage) {
- const req = requestMessage.req;
- const result = this._handler.handleMessage(requestMessage.method, requestMessage.args);
- result.then((r) => {
- this._send(new ReplyMessage(this._workerId, req, r, void 0));
- }, (e) => {
- if (e.detail instanceof Error) {
- e.detail = transformErrorForSerialization(e.detail);
- }
- this._send(new ReplyMessage(this._workerId, req, void 0, transformErrorForSerialization(e)));
- });
- }
- _handleSubscribeEventMessage(msg) {
- const req = msg.req;
- const disposable = this._handler.handleEvent(msg.eventName, msg.arg)((event) => {
- this._send(new EventMessage(this._workerId, req, event));
- });
- this._pendingEvents.set(req, disposable);
- }
- _handleEventMessage(msg) {
- if (!this._pendingEmitters.has(msg.req)) {
- console.warn("Got event for unknown req");
- return;
- }
- this._pendingEmitters.get(msg.req).fire(msg.event);
- }
- _handleUnsubscribeEventMessage(msg) {
- if (!this._pendingEvents.has(msg.req)) {
- console.warn("Got unsubscribe for unknown req");
- return;
- }
- this._pendingEvents.get(msg.req).dispose();
- this._pendingEvents.delete(msg.req);
- }
- _send(msg) {
- const transfer = [];
- if (msg.type === 0) {
- for (let i = 0; i < msg.args.length; i++) {
- if (msg.args[i] instanceof ArrayBuffer) {
- transfer.push(msg.args[i]);
- }
- }
- } else if (msg.type === 1) {
- if (msg.res instanceof ArrayBuffer) {
- transfer.push(msg.res);
- }
- }
- this._handler.sendMessage(msg, transfer);
- }
- };
- var SimpleWorkerClient = class extends Disposable {
- constructor(workerFactory, moduleId, host) {
- super();
- let lazyProxyReject = null;
- this._worker = this._register(workerFactory.create("vs/base/common/worker/simpleWorker", (msg) => {
- this._protocol.handleMessage(msg);
- }, (err) => {
- lazyProxyReject === null || lazyProxyReject === void 0 ? void 0 : lazyProxyReject(err);
- }));
- this._protocol = new SimpleWorkerProtocol({
- sendMessage: (msg, transfer) => {
- this._worker.postMessage(msg, transfer);
- },
- handleMessage: (method, args) => {
- if (typeof host[method] !== "function") {
- return Promise.reject(new Error("Missing method " + method + " on main thread host."));
- }
- try {
- return Promise.resolve(host[method].apply(host, args));
- } catch (e) {
- return Promise.reject(e);
- }
- },
- handleEvent: (eventName, arg) => {
- if (propertyIsDynamicEvent(eventName)) {
- const event = host[eventName].call(host, arg);
- if (typeof event !== "function") {
- throw new Error(`Missing dynamic event ${eventName} on main thread host.`);
- }
- return event;
- }
- if (propertyIsEvent(eventName)) {
- const event = host[eventName];
- if (typeof event !== "function") {
- throw new Error(`Missing event ${eventName} on main thread host.`);
- }
- return event;
- }
- throw new Error(`Malformed event name ${eventName}`);
- }
- });
- this._protocol.setWorkerId(this._worker.getId());
- let loaderConfiguration = null;
- const globalRequire = globalThis.require;
- if (typeof globalRequire !== "undefined" && typeof globalRequire.getConfig === "function") {
- loaderConfiguration = globalRequire.getConfig();
- } else if (typeof globalThis.requirejs !== "undefined") {
- loaderConfiguration = globalThis.requirejs.s.contexts._.config;
- }
- const hostMethods = getAllMethodNames(host);
- this._onModuleLoaded = this._protocol.sendMessage(INITIALIZE, [
- this._worker.getId(),
- JSON.parse(JSON.stringify(loaderConfiguration)),
- moduleId,
- hostMethods
- ]);
- const proxyMethodRequest = (method, args) => {
- return this._request(method, args);
- };
- const proxyListen = (eventName, arg) => {
- return this._protocol.listen(eventName, arg);
- };
- this._lazyProxy = new Promise((resolve2, reject) => {
- lazyProxyReject = reject;
- this._onModuleLoaded.then((availableMethods) => {
- resolve2(createProxyObject2(availableMethods, proxyMethodRequest, proxyListen));
- }, (e) => {
- reject(e);
- this._onError("Worker failed to load " + moduleId, e);
- });
- });
- }
- getProxyObject() {
- return this._lazyProxy;
- }
- _request(method, args) {
- return new Promise((resolve2, reject) => {
- this._onModuleLoaded.then(() => {
- this._protocol.sendMessage(method, args).then(resolve2, reject);
- }, reject);
- });
- }
- _onError(message, error) {
- console.error(message);
- console.info(error);
- }
- };
- function propertyIsEvent(name) {
- return name[0] === "o" && name[1] === "n" && isUpperAsciiLetter(name.charCodeAt(2));
- }
- function propertyIsDynamicEvent(name) {
- return /^onDynamic/.test(name) && isUpperAsciiLetter(name.charCodeAt(9));
- }
- function createProxyObject2(methodNames, invoke, proxyListen) {
- const createProxyMethod = (method) => {
- return function() {
- const args = Array.prototype.slice.call(arguments, 0);
- return invoke(method, args);
- };
- };
- const createProxyDynamicEvent = (eventName) => {
- return function(arg) {
- return proxyListen(eventName, arg);
- };
- };
- const result = {};
- for (const methodName of methodNames) {
- if (propertyIsDynamicEvent(methodName)) {
- result[methodName] = createProxyDynamicEvent(methodName);
- continue;
- }
- if (propertyIsEvent(methodName)) {
- result[methodName] = proxyListen(methodName, void 0);
- continue;
- }
- result[methodName] = createProxyMethod(methodName);
- }
- return result;
- }
- var SimpleWorkerServer = class {
- constructor(postMessage, requestHandlerFactory) {
- this._requestHandlerFactory = requestHandlerFactory;
- this._requestHandler = null;
- this._protocol = new SimpleWorkerProtocol({
- sendMessage: (msg, transfer) => {
- postMessage(msg, transfer);
- },
- handleMessage: (method, args) => this._handleMessage(method, args),
- handleEvent: (eventName, arg) => this._handleEvent(eventName, arg)
- });
- }
- onmessage(msg) {
- this._protocol.handleMessage(msg);
- }
- _handleMessage(method, args) {
- if (method === INITIALIZE) {
- return this.initialize(args[0], args[1], args[2], args[3]);
- }
- if (!this._requestHandler || typeof this._requestHandler[method] !== "function") {
- return Promise.reject(new Error("Missing requestHandler or method: " + method));
- }
- try {
- return Promise.resolve(this._requestHandler[method].apply(this._requestHandler, args));
- } catch (e) {
- return Promise.reject(e);
- }
- }
- _handleEvent(eventName, arg) {
- if (!this._requestHandler) {
- throw new Error(`Missing requestHandler`);
- }
- if (propertyIsDynamicEvent(eventName)) {
- const event = this._requestHandler[eventName].call(this._requestHandler, arg);
- if (typeof event !== "function") {
- throw new Error(`Missing dynamic event ${eventName} on request handler.`);
- }
- return event;
- }
- if (propertyIsEvent(eventName)) {
- const event = this._requestHandler[eventName];
- if (typeof event !== "function") {
- throw new Error(`Missing event ${eventName} on request handler.`);
- }
- return event;
- }
- throw new Error(`Malformed event name ${eventName}`);
- }
- initialize(workerId, loaderConfig, moduleId, hostMethods) {
- this._protocol.setWorkerId(workerId);
- const proxyMethodRequest = (method, args) => {
- return this._protocol.sendMessage(method, args);
- };
- const proxyListen = (eventName, arg) => {
- return this._protocol.listen(eventName, arg);
- };
- const hostProxy = createProxyObject2(hostMethods, proxyMethodRequest, proxyListen);
- if (this._requestHandlerFactory) {
- this._requestHandler = this._requestHandlerFactory(hostProxy);
- return Promise.resolve(getAllMethodNames(this._requestHandler));
- }
- if (loaderConfig) {
- if (typeof loaderConfig.baseUrl !== "undefined") {
- delete loaderConfig["baseUrl"];
- }
- if (typeof loaderConfig.paths !== "undefined") {
- if (typeof loaderConfig.paths.vs !== "undefined") {
- delete loaderConfig.paths["vs"];
- }
- }
- if (typeof loaderConfig.trustedTypesPolicy !== void 0) {
- delete loaderConfig["trustedTypesPolicy"];
- }
- loaderConfig.catchError = true;
- globalThis.require.config(loaderConfig);
- }
- return new Promise((resolve2, reject) => {
- const req = globalThis.require;
- req([moduleId], (module) => {
- this._requestHandler = module.create(hostProxy);
- if (!this._requestHandler) {
- reject(new Error(`No RequestHandler!`));
- return;
- }
- resolve2(getAllMethodNames(this._requestHandler));
- }, reject);
- });
- }
- };
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/base/common/diff/diffChange.js
- var DiffChange = class {
- /**
- * Constructs a new DiffChange with the given sequence information
- * and content.
- */
- constructor(originalStart, originalLength, modifiedStart, modifiedLength) {
- this.originalStart = originalStart;
- this.originalLength = originalLength;
- this.modifiedStart = modifiedStart;
- this.modifiedLength = modifiedLength;
- }
- /**
- * The end point (exclusive) of the change in the original sequence.
- */
- getOriginalEnd() {
- return this.originalStart + this.originalLength;
- }
- /**
- * The end point (exclusive) of the change in the modified sequence.
- */
- getModifiedEnd() {
- return this.modifiedStart + this.modifiedLength;
- }
- };
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/base/common/diff/diff.js
- init_hash();
- var StringDiffSequence = class {
- constructor(source) {
- this.source = source;
- }
- getElements() {
- const source = this.source;
- const characters = new Int32Array(source.length);
- for (let i = 0, len = source.length; i < len; i++) {
- characters[i] = source.charCodeAt(i);
- }
- return characters;
- }
- };
- function stringDiff(original, modified, pretty) {
- return new LcsDiff(new StringDiffSequence(original), new StringDiffSequence(modified)).ComputeDiff(pretty).changes;
- }
- var Debug = class {
- static Assert(condition, message) {
- if (!condition) {
- throw new Error(message);
- }
- }
- };
- var MyArray = class {
- /**
- * Copies a range of elements from an Array starting at the specified source index and pastes
- * them to another Array starting at the specified destination index. The length and the indexes
- * are specified as 64-bit integers.
- * sourceArray:
- * The Array that contains the data to copy.
- * sourceIndex:
- * A 64-bit integer that represents the index in the sourceArray at which copying begins.
- * destinationArray:
- * The Array that receives the data.
- * destinationIndex:
- * A 64-bit integer that represents the index in the destinationArray at which storing begins.
- * length:
- * A 64-bit integer that represents the number of elements to copy.
- */
- static Copy(sourceArray, sourceIndex, destinationArray, destinationIndex, length) {
- for (let i = 0; i < length; i++) {
- destinationArray[destinationIndex + i] = sourceArray[sourceIndex + i];
- }
- }
- static Copy2(sourceArray, sourceIndex, destinationArray, destinationIndex, length) {
- for (let i = 0; i < length; i++) {
- destinationArray[destinationIndex + i] = sourceArray[sourceIndex + i];
- }
- }
- };
- var DiffChangeHelper = class {
- /**
- * Constructs a new DiffChangeHelper for the given DiffSequences.
- */
- constructor() {
- this.m_changes = [];
- this.m_originalStart = 1073741824;
- this.m_modifiedStart = 1073741824;
- this.m_originalCount = 0;
- this.m_modifiedCount = 0;
- }
- /**
- * Marks the beginning of the next change in the set of differences.
- */
- MarkNextChange() {
- if (this.m_originalCount > 0 || this.m_modifiedCount > 0) {
- this.m_changes.push(new DiffChange(this.m_originalStart, this.m_originalCount, this.m_modifiedStart, this.m_modifiedCount));
- }
- this.m_originalCount = 0;
- this.m_modifiedCount = 0;
- this.m_originalStart = 1073741824;
- this.m_modifiedStart = 1073741824;
- }
- /**
- * Adds the original element at the given position to the elements
- * affected by the current change. The modified index gives context
- * to the change position with respect to the original sequence.
- * @param originalIndex The index of the original element to add.
- * @param modifiedIndex The index of the modified element that provides corresponding position in the modified sequence.
- */
- AddOriginalElement(originalIndex, modifiedIndex) {
- this.m_originalStart = Math.min(this.m_originalStart, originalIndex);
- this.m_modifiedStart = Math.min(this.m_modifiedStart, modifiedIndex);
- this.m_originalCount++;
- }
- /**
- * Adds the modified element at the given position to the elements
- * affected by the current change. The original index gives context
- * to the change position with respect to the modified sequence.
- * @param originalIndex The index of the original element that provides corresponding position in the original sequence.
- * @param modifiedIndex The index of the modified element to add.
- */
- AddModifiedElement(originalIndex, modifiedIndex) {
- this.m_originalStart = Math.min(this.m_originalStart, originalIndex);
- this.m_modifiedStart = Math.min(this.m_modifiedStart, modifiedIndex);
- this.m_modifiedCount++;
- }
- /**
- * Retrieves all of the changes marked by the class.
- */
- getChanges() {
- if (this.m_originalCount > 0 || this.m_modifiedCount > 0) {
- this.MarkNextChange();
- }
- return this.m_changes;
- }
- /**
- * Retrieves all of the changes marked by the class in the reverse order
- */
- getReverseChanges() {
- if (this.m_originalCount > 0 || this.m_modifiedCount > 0) {
- this.MarkNextChange();
- }
- this.m_changes.reverse();
- return this.m_changes;
- }
- };
- var LcsDiff = class _LcsDiff {
- /**
- * Constructs the DiffFinder
- */
- constructor(originalSequence, modifiedSequence, continueProcessingPredicate = null) {
- this.ContinueProcessingPredicate = continueProcessingPredicate;
- this._originalSequence = originalSequence;
- this._modifiedSequence = modifiedSequence;
- const [originalStringElements, originalElementsOrHash, originalHasStrings] = _LcsDiff._getElements(originalSequence);
- const [modifiedStringElements, modifiedElementsOrHash, modifiedHasStrings] = _LcsDiff._getElements(modifiedSequence);
- this._hasStrings = originalHasStrings && modifiedHasStrings;
- this._originalStringElements = originalStringElements;
- this._originalElementsOrHash = originalElementsOrHash;
- this._modifiedStringElements = modifiedStringElements;
- this._modifiedElementsOrHash = modifiedElementsOrHash;
- this.m_forwardHistory = [];
- this.m_reverseHistory = [];
- }
- static _isStringArray(arr) {
- return arr.length > 0 && typeof arr[0] === "string";
- }
- static _getElements(sequence) {
- const elements = sequence.getElements();
- if (_LcsDiff._isStringArray(elements)) {
- const hashes = new Int32Array(elements.length);
- for (let i = 0, len = elements.length; i < len; i++) {
- hashes[i] = stringHash(elements[i], 0);
- }
- return [elements, hashes, true];
- }
- if (elements instanceof Int32Array) {
- return [[], elements, false];
- }
- return [[], new Int32Array(elements), false];
- }
- ElementsAreEqual(originalIndex, newIndex) {
- if (this._originalElementsOrHash[originalIndex] !== this._modifiedElementsOrHash[newIndex]) {
- return false;
- }
- return this._hasStrings ? this._originalStringElements[originalIndex] === this._modifiedStringElements[newIndex] : true;
- }
- ElementsAreStrictEqual(originalIndex, newIndex) {
- if (!this.ElementsAreEqual(originalIndex, newIndex)) {
- return false;
- }
- const originalElement = _LcsDiff._getStrictElement(this._originalSequence, originalIndex);
- const modifiedElement = _LcsDiff._getStrictElement(this._modifiedSequence, newIndex);
- return originalElement === modifiedElement;
- }
- static _getStrictElement(sequence, index) {
- if (typeof sequence.getStrictElement === "function") {
- return sequence.getStrictElement(index);
- }
- return null;
- }
- OriginalElementsAreEqual(index1, index2) {
- if (this._originalElementsOrHash[index1] !== this._originalElementsOrHash[index2]) {
- return false;
- }
- return this._hasStrings ? this._originalStringElements[index1] === this._originalStringElements[index2] : true;
- }
- ModifiedElementsAreEqual(index1, index2) {
- if (this._modifiedElementsOrHash[index1] !== this._modifiedElementsOrHash[index2]) {
- return false;
- }
- return this._hasStrings ? this._modifiedStringElements[index1] === this._modifiedStringElements[index2] : true;
- }
- ComputeDiff(pretty) {
- return this._ComputeDiff(0, this._originalElementsOrHash.length - 1, 0, this._modifiedElementsOrHash.length - 1, pretty);
- }
- /**
- * Computes the differences between the original and modified input
- * sequences on the bounded range.
- * @returns An array of the differences between the two input sequences.
- */
- _ComputeDiff(originalStart, originalEnd, modifiedStart, modifiedEnd, pretty) {
- const quitEarlyArr = [false];
- let changes = this.ComputeDiffRecursive(originalStart, originalEnd, modifiedStart, modifiedEnd, quitEarlyArr);
- if (pretty) {
- changes = this.PrettifyChanges(changes);
- }
- return {
- quitEarly: quitEarlyArr[0],
- changes
- };
- }
- /**
- * Private helper method which computes the differences on the bounded range
- * recursively.
- * @returns An array of the differences between the two input sequences.
- */
- ComputeDiffRecursive(originalStart, originalEnd, modifiedStart, modifiedEnd, quitEarlyArr) {
- quitEarlyArr[0] = false;
- while (originalStart <= originalEnd && modifiedStart <= modifiedEnd && this.ElementsAreEqual(originalStart, modifiedStart)) {
- originalStart++;
- modifiedStart++;
- }
- while (originalEnd >= originalStart && modifiedEnd >= modifiedStart && this.ElementsAreEqual(originalEnd, modifiedEnd)) {
- originalEnd--;
- modifiedEnd--;
- }
- if (originalStart > originalEnd || modifiedStart > modifiedEnd) {
- let changes;
- if (modifiedStart <= modifiedEnd) {
- Debug.Assert(originalStart === originalEnd + 1, "originalStart should only be one more than originalEnd");
- changes = [
- new DiffChange(originalStart, 0, modifiedStart, modifiedEnd - modifiedStart + 1)
- ];
- } else if (originalStart <= originalEnd) {
- Debug.Assert(modifiedStart === modifiedEnd + 1, "modifiedStart should only be one more than modifiedEnd");
- changes = [
- new DiffChange(originalStart, originalEnd - originalStart + 1, modifiedStart, 0)
- ];
- } else {
- Debug.Assert(originalStart === originalEnd + 1, "originalStart should only be one more than originalEnd");
- Debug.Assert(modifiedStart === modifiedEnd + 1, "modifiedStart should only be one more than modifiedEnd");
- changes = [];
- }
- return changes;
- }
- const midOriginalArr = [0];
- const midModifiedArr = [0];
- const result = this.ComputeRecursionPoint(originalStart, originalEnd, modifiedStart, modifiedEnd, midOriginalArr, midModifiedArr, quitEarlyArr);
- const midOriginal = midOriginalArr[0];
- const midModified = midModifiedArr[0];
- if (result !== null) {
- return result;
- } else if (!quitEarlyArr[0]) {
- const leftChanges = this.ComputeDiffRecursive(originalStart, midOriginal, modifiedStart, midModified, quitEarlyArr);
- let rightChanges = [];
- if (!quitEarlyArr[0]) {
- rightChanges = this.ComputeDiffRecursive(midOriginal + 1, originalEnd, midModified + 1, modifiedEnd, quitEarlyArr);
- } else {
- rightChanges = [
- new DiffChange(midOriginal + 1, originalEnd - (midOriginal + 1) + 1, midModified + 1, modifiedEnd - (midModified + 1) + 1)
- ];
- }
- return this.ConcatenateChanges(leftChanges, rightChanges);
- }
- return [
- new DiffChange(originalStart, originalEnd - originalStart + 1, modifiedStart, modifiedEnd - modifiedStart + 1)
- ];
- }
- WALKTRACE(diagonalForwardBase, diagonalForwardStart, diagonalForwardEnd, diagonalForwardOffset, diagonalReverseBase, diagonalReverseStart, diagonalReverseEnd, diagonalReverseOffset, forwardPoints, reversePoints, originalIndex, originalEnd, midOriginalArr, modifiedIndex, modifiedEnd, midModifiedArr, deltaIsEven, quitEarlyArr) {
- let forwardChanges = null;
- let reverseChanges = null;
- let changeHelper = new DiffChangeHelper();
- let diagonalMin = diagonalForwardStart;
- let diagonalMax = diagonalForwardEnd;
- let diagonalRelative = midOriginalArr[0] - midModifiedArr[0] - diagonalForwardOffset;
- let lastOriginalIndex = -1073741824;
- let historyIndex = this.m_forwardHistory.length - 1;
- do {
- const diagonal = diagonalRelative + diagonalForwardBase;
- if (diagonal === diagonalMin || diagonal < diagonalMax && forwardPoints[diagonal - 1] < forwardPoints[diagonal + 1]) {
- originalIndex = forwardPoints[diagonal + 1];
- modifiedIndex = originalIndex - diagonalRelative - diagonalForwardOffset;
- if (originalIndex < lastOriginalIndex) {
- changeHelper.MarkNextChange();
- }
- lastOriginalIndex = originalIndex;
- changeHelper.AddModifiedElement(originalIndex + 1, modifiedIndex);
- diagonalRelative = diagonal + 1 - diagonalForwardBase;
- } else {
- originalIndex = forwardPoints[diagonal - 1] + 1;
- modifiedIndex = originalIndex - diagonalRelative - diagonalForwardOffset;
- if (originalIndex < lastOriginalIndex) {
- changeHelper.MarkNextChange();
- }
- lastOriginalIndex = originalIndex - 1;
- changeHelper.AddOriginalElement(originalIndex, modifiedIndex + 1);
- diagonalRelative = diagonal - 1 - diagonalForwardBase;
- }
- if (historyIndex >= 0) {
- forwardPoints = this.m_forwardHistory[historyIndex];
- diagonalForwardBase = forwardPoints[0];
- diagonalMin = 1;
- diagonalMax = forwardPoints.length - 1;
- }
- } while (--historyIndex >= -1);
- forwardChanges = changeHelper.getReverseChanges();
- if (quitEarlyArr[0]) {
- let originalStartPoint = midOriginalArr[0] + 1;
- let modifiedStartPoint = midModifiedArr[0] + 1;
- if (forwardChanges !== null && forwardChanges.length > 0) {
- const lastForwardChange = forwardChanges[forwardChanges.length - 1];
- originalStartPoint = Math.max(originalStartPoint, lastForwardChange.getOriginalEnd());
- modifiedStartPoint = Math.max(modifiedStartPoint, lastForwardChange.getModifiedEnd());
- }
- reverseChanges = [
- new DiffChange(originalStartPoint, originalEnd - originalStartPoint + 1, modifiedStartPoint, modifiedEnd - modifiedStartPoint + 1)
- ];
- } else {
- changeHelper = new DiffChangeHelper();
- diagonalMin = diagonalReverseStart;
- diagonalMax = diagonalReverseEnd;
- diagonalRelative = midOriginalArr[0] - midModifiedArr[0] - diagonalReverseOffset;
- lastOriginalIndex = 1073741824;
- historyIndex = deltaIsEven ? this.m_reverseHistory.length - 1 : this.m_reverseHistory.length - 2;
- do {
- const diagonal = diagonalRelative + diagonalReverseBase;
- if (diagonal === diagonalMin || diagonal < diagonalMax && reversePoints[diagonal - 1] >= reversePoints[diagonal + 1]) {
- originalIndex = reversePoints[diagonal + 1] - 1;
- modifiedIndex = originalIndex - diagonalRelative - diagonalReverseOffset;
- if (originalIndex > lastOriginalIndex) {
- changeHelper.MarkNextChange();
- }
- lastOriginalIndex = originalIndex + 1;
- changeHelper.AddOriginalElement(originalIndex + 1, modifiedIndex + 1);
- diagonalRelative = diagonal + 1 - diagonalReverseBase;
- } else {
- originalIndex = reversePoints[diagonal - 1];
- modifiedIndex = originalIndex - diagonalRelative - diagonalReverseOffset;
- if (originalIndex > lastOriginalIndex) {
- changeHelper.MarkNextChange();
- }
- lastOriginalIndex = originalIndex;
- changeHelper.AddModifiedElement(originalIndex + 1, modifiedIndex + 1);
- diagonalRelative = diagonal - 1 - diagonalReverseBase;
- }
- if (historyIndex >= 0) {
- reversePoints = this.m_reverseHistory[historyIndex];
- diagonalReverseBase = reversePoints[0];
- diagonalMin = 1;
- diagonalMax = reversePoints.length - 1;
- }
- } while (--historyIndex >= -1);
- reverseChanges = changeHelper.getChanges();
- }
- return this.ConcatenateChanges(forwardChanges, reverseChanges);
- }
- /**
- * Given the range to compute the diff on, this method finds the point:
- * (midOriginal, midModified)
- * that exists in the middle of the LCS of the two sequences and
- * is the point at which the LCS problem may be broken down recursively.
- * This method will try to keep the LCS trace in memory. If the LCS recursion
- * point is calculated and the full trace is available in memory, then this method
- * will return the change list.
- * @param originalStart The start bound of the original sequence range
- * @param originalEnd The end bound of the original sequence range
- * @param modifiedStart The start bound of the modified sequence range
- * @param modifiedEnd The end bound of the modified sequence range
- * @param midOriginal The middle point of the original sequence range
- * @param midModified The middle point of the modified sequence range
- * @returns The diff changes, if available, otherwise null
- */
- ComputeRecursionPoint(originalStart, originalEnd, modifiedStart, modifiedEnd, midOriginalArr, midModifiedArr, quitEarlyArr) {
- let originalIndex = 0, modifiedIndex = 0;
- let diagonalForwardStart = 0, diagonalForwardEnd = 0;
- let diagonalReverseStart = 0, diagonalReverseEnd = 0;
- originalStart--;
- modifiedStart--;
- midOriginalArr[0] = 0;
- midModifiedArr[0] = 0;
- this.m_forwardHistory = [];
- this.m_reverseHistory = [];
- const maxDifferences = originalEnd - originalStart + (modifiedEnd - modifiedStart);
- const numDiagonals = maxDifferences + 1;
- const forwardPoints = new Int32Array(numDiagonals);
- const reversePoints = new Int32Array(numDiagonals);
- const diagonalForwardBase = modifiedEnd - modifiedStart;
- const diagonalReverseBase = originalEnd - originalStart;
- const diagonalForwardOffset = originalStart - modifiedStart;
- const diagonalReverseOffset = originalEnd - modifiedEnd;
- const delta = diagonalReverseBase - diagonalForwardBase;
- const deltaIsEven = delta % 2 === 0;
- forwardPoints[diagonalForwardBase] = originalStart;
- reversePoints[diagonalReverseBase] = originalEnd;
- quitEarlyArr[0] = false;
- for (let numDifferences = 1; numDifferences <= maxDifferences / 2 + 1; numDifferences++) {
- let furthestOriginalIndex = 0;
- let furthestModifiedIndex = 0;
- diagonalForwardStart = this.ClipDiagonalBound(diagonalForwardBase - numDifferences, numDifferences, diagonalForwardBase, numDiagonals);
- diagonalForwardEnd = this.ClipDiagonalBound(diagonalForwardBase + numDifferences, numDifferences, diagonalForwardBase, numDiagonals);
- for (let diagonal = diagonalForwardStart; diagonal <= diagonalForwardEnd; diagonal += 2) {
- if (diagonal === diagonalForwardStart || diagonal < diagonalForwardEnd && forwardPoints[diagonal - 1] < forwardPoints[diagonal + 1]) {
- originalIndex = forwardPoints[diagonal + 1];
- } else {
- originalIndex = forwardPoints[diagonal - 1] + 1;
- }
- modifiedIndex = originalIndex - (diagonal - diagonalForwardBase) - diagonalForwardOffset;
- const tempOriginalIndex = originalIndex;
- while (originalIndex < originalEnd && modifiedIndex < modifiedEnd && this.ElementsAreEqual(originalIndex + 1, modifiedIndex + 1)) {
- originalIndex++;
- modifiedIndex++;
- }
- forwardPoints[diagonal] = originalIndex;
- if (originalIndex + modifiedIndex > furthestOriginalIndex + furthestModifiedIndex) {
- furthestOriginalIndex = originalIndex;
- furthestModifiedIndex = modifiedIndex;
- }
- if (!deltaIsEven && Math.abs(diagonal - diagonalReverseBase) <= numDifferences - 1) {
- if (originalIndex >= reversePoints[diagonal]) {
- midOriginalArr[0] = originalIndex;
- midModifiedArr[0] = modifiedIndex;
- if (tempOriginalIndex <= reversePoints[diagonal] && 1447 > 0 && numDifferences <= 1447 + 1) {
- return this.WALKTRACE(diagonalForwardBase, diagonalForwardStart, diagonalForwardEnd, diagonalForwardOffset, diagonalReverseBase, diagonalReverseStart, diagonalReverseEnd, diagonalReverseOffset, forwardPoints, reversePoints, originalIndex, originalEnd, midOriginalArr, modifiedIndex, modifiedEnd, midModifiedArr, deltaIsEven, quitEarlyArr);
- } else {
- return null;
- }
- }
- }
- }
- const matchLengthOfLongest = (furthestOriginalIndex - originalStart + (furthestModifiedIndex - modifiedStart) - numDifferences) / 2;
- if (this.ContinueProcessingPredicate !== null && !this.ContinueProcessingPredicate(furthestOriginalIndex, matchLengthOfLongest)) {
- quitEarlyArr[0] = true;
- midOriginalArr[0] = furthestOriginalIndex;
- midModifiedArr[0] = furthestModifiedIndex;
- if (matchLengthOfLongest > 0 && 1447 > 0 && numDifferences <= 1447 + 1) {
- return this.WALKTRACE(diagonalForwardBase, diagonalForwardStart, diagonalForwardEnd, diagonalForwardOffset, diagonalReverseBase, diagonalReverseStart, diagonalReverseEnd, diagonalReverseOffset, forwardPoints, reversePoints, originalIndex, originalEnd, midOriginalArr, modifiedIndex, modifiedEnd, midModifiedArr, deltaIsEven, quitEarlyArr);
- } else {
- originalStart++;
- modifiedStart++;
- return [
- new DiffChange(originalStart, originalEnd - originalStart + 1, modifiedStart, modifiedEnd - modifiedStart + 1)
- ];
- }
- }
- diagonalReverseStart = this.ClipDiagonalBound(diagonalReverseBase - numDifferences, numDifferences, diagonalReverseBase, numDiagonals);
- diagonalReverseEnd = this.ClipDiagonalBound(diagonalReverseBase + numDifferences, numDifferences, diagonalReverseBase, numDiagonals);
- for (let diagonal = diagonalReverseStart; diagonal <= diagonalReverseEnd; diagonal += 2) {
- if (diagonal === diagonalReverseStart || diagonal < diagonalReverseEnd && reversePoints[diagonal - 1] >= reversePoints[diagonal + 1]) {
- originalIndex = reversePoints[diagonal + 1] - 1;
- } else {
- originalIndex = reversePoints[diagonal - 1];
- }
- modifiedIndex = originalIndex - (diagonal - diagonalReverseBase) - diagonalReverseOffset;
- const tempOriginalIndex = originalIndex;
- while (originalIndex > originalStart && modifiedIndex > modifiedStart && this.ElementsAreEqual(originalIndex, modifiedIndex)) {
- originalIndex--;
- modifiedIndex--;
- }
- reversePoints[diagonal] = originalIndex;
- if (deltaIsEven && Math.abs(diagonal - diagonalForwardBase) <= numDifferences) {
- if (originalIndex <= forwardPoints[diagonal]) {
- midOriginalArr[0] = originalIndex;
- midModifiedArr[0] = modifiedIndex;
- if (tempOriginalIndex >= forwardPoints[diagonal] && 1447 > 0 && numDifferences <= 1447 + 1) {
- return this.WALKTRACE(diagonalForwardBase, diagonalForwardStart, diagonalForwardEnd, diagonalForwardOffset, diagonalReverseBase, diagonalReverseStart, diagonalReverseEnd, diagonalReverseOffset, forwardPoints, reversePoints, originalIndex, originalEnd, midOriginalArr, modifiedIndex, modifiedEnd, midModifiedArr, deltaIsEven, quitEarlyArr);
- } else {
- return null;
- }
- }
- }
- }
- if (numDifferences <= 1447) {
- let temp = new Int32Array(diagonalForwardEnd - diagonalForwardStart + 2);
- temp[0] = diagonalForwardBase - diagonalForwardStart + 1;
- MyArray.Copy2(forwardPoints, diagonalForwardStart, temp, 1, diagonalForwardEnd - diagonalForwardStart + 1);
- this.m_forwardHistory.push(temp);
- temp = new Int32Array(diagonalReverseEnd - diagonalReverseStart + 2);
- temp[0] = diagonalReverseBase - diagonalReverseStart + 1;
- MyArray.Copy2(reversePoints, diagonalReverseStart, temp, 1, diagonalReverseEnd - diagonalReverseStart + 1);
- this.m_reverseHistory.push(temp);
- }
- }
- return this.WALKTRACE(diagonalForwardBase, diagonalForwardStart, diagonalForwardEnd, diagonalForwardOffset, diagonalReverseBase, diagonalReverseStart, diagonalReverseEnd, diagonalReverseOffset, forwardPoints, reversePoints, originalIndex, originalEnd, midOriginalArr, modifiedIndex, modifiedEnd, midModifiedArr, deltaIsEven, quitEarlyArr);
- }
- /**
- * Shifts the given changes to provide a more intuitive diff.
- * While the first element in a diff matches the first element after the diff,
- * we shift the diff down.
- *
- * @param changes The list of changes to shift
- * @returns The shifted changes
- */
- PrettifyChanges(changes) {
- for (let i = 0; i < changes.length; i++) {
- const change = changes[i];
- const originalStop = i < changes.length - 1 ? changes[i + 1].originalStart : this._originalElementsOrHash.length;
- const modifiedStop = i < changes.length - 1 ? changes[i + 1].modifiedStart : this._modifiedElementsOrHash.length;
- const checkOriginal = change.originalLength > 0;
- const checkModified = change.modifiedLength > 0;
- while (change.originalStart + change.originalLength < originalStop && change.modifiedStart + change.modifiedLength < modifiedStop && (!checkOriginal || this.OriginalElementsAreEqual(change.originalStart, change.originalStart + change.originalLength)) && (!checkModified || this.ModifiedElementsAreEqual(change.modifiedStart, change.modifiedStart + change.modifiedLength))) {
- const startStrictEqual = this.ElementsAreStrictEqual(change.originalStart, change.modifiedStart);
- const endStrictEqual = this.ElementsAreStrictEqual(change.originalStart + change.originalLength, change.modifiedStart + change.modifiedLength);
- if (endStrictEqual && !startStrictEqual) {
- break;
- }
- change.originalStart++;
- change.modifiedStart++;
- }
- const mergedChangeArr = [null];
- if (i < changes.length - 1 && this.ChangesOverlap(changes[i], changes[i + 1], mergedChangeArr)) {
- changes[i] = mergedChangeArr[0];
- changes.splice(i + 1, 1);
- i--;
- continue;
- }
- }
- for (let i = changes.length - 1; i >= 0; i--) {
- const change = changes[i];
- let originalStop = 0;
- let modifiedStop = 0;
- if (i > 0) {
- const prevChange = changes[i - 1];
- originalStop = prevChange.originalStart + prevChange.originalLength;
- modifiedStop = prevChange.modifiedStart + prevChange.modifiedLength;
- }
- const checkOriginal = change.originalLength > 0;
- const checkModified = change.modifiedLength > 0;
- let bestDelta = 0;
- let bestScore = this._boundaryScore(change.originalStart, change.originalLength, change.modifiedStart, change.modifiedLength);
- for (let delta = 1; ; delta++) {
- const originalStart = change.originalStart - delta;
- const modifiedStart = change.modifiedStart - delta;
- if (originalStart < originalStop || modifiedStart < modifiedStop) {
- break;
- }
- if (checkOriginal && !this.OriginalElementsAreEqual(originalStart, originalStart + change.originalLength)) {
- break;
- }
- if (checkModified && !this.ModifiedElementsAreEqual(modifiedStart, modifiedStart + change.modifiedLength)) {
- break;
- }
- const touchingPreviousChange = originalStart === originalStop && modifiedStart === modifiedStop;
- const score2 = (touchingPreviousChange ? 5 : 0) + this._boundaryScore(originalStart, change.originalLength, modifiedStart, change.modifiedLength);
- if (score2 > bestScore) {
- bestScore = score2;
- bestDelta = delta;
- }
- }
- change.originalStart -= bestDelta;
- change.modifiedStart -= bestDelta;
- const mergedChangeArr = [null];
- if (i > 0 && this.ChangesOverlap(changes[i - 1], changes[i], mergedChangeArr)) {
- changes[i - 1] = mergedChangeArr[0];
- changes.splice(i, 1);
- i++;
- continue;
- }
- }
- if (this._hasStrings) {
- for (let i = 1, len = changes.length; i < len; i++) {
- const aChange = changes[i - 1];
- const bChange = changes[i];
- const matchedLength = bChange.originalStart - aChange.originalStart - aChange.originalLength;
- const aOriginalStart = aChange.originalStart;
- const bOriginalEnd = bChange.originalStart + bChange.originalLength;
- const abOriginalLength = bOriginalEnd - aOriginalStart;
- const aModifiedStart = aChange.modifiedStart;
- const bModifiedEnd = bChange.modifiedStart + bChange.modifiedLength;
- const abModifiedLength = bModifiedEnd - aModifiedStart;
- if (matchedLength < 5 && abOriginalLength < 20 && abModifiedLength < 20) {
- const t = this._findBetterContiguousSequence(aOriginalStart, abOriginalLength, aModifiedStart, abModifiedLength, matchedLength);
- if (t) {
- const [originalMatchStart, modifiedMatchStart] = t;
- if (originalMatchStart !== aChange.originalStart + aChange.originalLength || modifiedMatchStart !== aChange.modifiedStart + aChange.modifiedLength) {
- aChange.originalLength = originalMatchStart - aChange.originalStart;
- aChange.modifiedLength = modifiedMatchStart - aChange.modifiedStart;
- bChange.originalStart = originalMatchStart + matchedLength;
- bChange.modifiedStart = modifiedMatchStart + matchedLength;
- bChange.originalLength = bOriginalEnd - bChange.originalStart;
- bChange.modifiedLength = bModifiedEnd - bChange.modifiedStart;
- }
- }
- }
- }
- }
- return changes;
- }
- _findBetterContiguousSequence(originalStart, originalLength, modifiedStart, modifiedLength, desiredLength) {
- if (originalLength < desiredLength || modifiedLength < desiredLength) {
- return null;
- }
- const originalMax = originalStart + originalLength - desiredLength + 1;
- const modifiedMax = modifiedStart + modifiedLength - desiredLength + 1;
- let bestScore = 0;
- let bestOriginalStart = 0;
- let bestModifiedStart = 0;
- for (let i = originalStart; i < originalMax; i++) {
- for (let j = modifiedStart; j < modifiedMax; j++) {
- const score2 = this._contiguousSequenceScore(i, j, desiredLength);
- if (score2 > 0 && score2 > bestScore) {
- bestScore = score2;
- bestOriginalStart = i;
- bestModifiedStart = j;
- }
- }
- }
- if (bestScore > 0) {
- return [bestOriginalStart, bestModifiedStart];
- }
- return null;
- }
- _contiguousSequenceScore(originalStart, modifiedStart, length) {
- let score2 = 0;
- for (let l = 0; l < length; l++) {
- if (!this.ElementsAreEqual(originalStart + l, modifiedStart + l)) {
- return 0;
- }
- score2 += this._originalStringElements[originalStart + l].length;
- }
- return score2;
- }
- _OriginalIsBoundary(index) {
- if (index <= 0 || index >= this._originalElementsOrHash.length - 1) {
- return true;
- }
- return this._hasStrings && /^\s*$/.test(this._originalStringElements[index]);
- }
- _OriginalRegionIsBoundary(originalStart, originalLength) {
- if (this._OriginalIsBoundary(originalStart) || this._OriginalIsBoundary(originalStart - 1)) {
- return true;
- }
- if (originalLength > 0) {
- const originalEnd = originalStart + originalLength;
- if (this._OriginalIsBoundary(originalEnd - 1) || this._OriginalIsBoundary(originalEnd)) {
- return true;
- }
- }
- return false;
- }
- _ModifiedIsBoundary(index) {
- if (index <= 0 || index >= this._modifiedElementsOrHash.length - 1) {
- return true;
- }
- return this._hasStrings && /^\s*$/.test(this._modifiedStringElements[index]);
- }
- _ModifiedRegionIsBoundary(modifiedStart, modifiedLength) {
- if (this._ModifiedIsBoundary(modifiedStart) || this._ModifiedIsBoundary(modifiedStart - 1)) {
- return true;
- }
- if (modifiedLength > 0) {
- const modifiedEnd = modifiedStart + modifiedLength;
- if (this._ModifiedIsBoundary(modifiedEnd - 1) || this._ModifiedIsBoundary(modifiedEnd)) {
- return true;
- }
- }
- return false;
- }
- _boundaryScore(originalStart, originalLength, modifiedStart, modifiedLength) {
- const originalScore = this._OriginalRegionIsBoundary(originalStart, originalLength) ? 1 : 0;
- const modifiedScore = this._ModifiedRegionIsBoundary(modifiedStart, modifiedLength) ? 1 : 0;
- return originalScore + modifiedScore;
- }
- /**
- * Concatenates the two input DiffChange lists and returns the resulting
- * list.
- * @param The left changes
- * @param The right changes
- * @returns The concatenated list
- */
- ConcatenateChanges(left, right) {
- const mergedChangeArr = [];
- if (left.length === 0 || right.length === 0) {
- return right.length > 0 ? right : left;
- } else if (this.ChangesOverlap(left[left.length - 1], right[0], mergedChangeArr)) {
- const result = new Array(left.length + right.length - 1);
- MyArray.Copy(left, 0, result, 0, left.length - 1);
- result[left.length - 1] = mergedChangeArr[0];
- MyArray.Copy(right, 1, result, left.length, right.length - 1);
- return result;
- } else {
- const result = new Array(left.length + right.length);
- MyArray.Copy(left, 0, result, 0, left.length);
- MyArray.Copy(right, 0, result, left.length, right.length);
- return result;
- }
- }
- /**
- * Returns true if the two changes overlap and can be merged into a single
- * change
- * @param left The left change
- * @param right The right change
- * @param mergedChange The merged change if the two overlap, null otherwise
- * @returns True if the two changes overlap
- */
- ChangesOverlap(left, right, mergedChangeArr) {
- Debug.Assert(left.originalStart <= right.originalStart, "Left change is not less than or equal to right change");
- Debug.Assert(left.modifiedStart <= right.modifiedStart, "Left change is not less than or equal to right change");
- if (left.originalStart + left.originalLength >= right.originalStart || left.modifiedStart + left.modifiedLength >= right.modifiedStart) {
- const originalStart = left.originalStart;
- let originalLength = left.originalLength;
- const modifiedStart = left.modifiedStart;
- let modifiedLength = left.modifiedLength;
- if (left.originalStart + left.originalLength >= right.originalStart) {
- originalLength = right.originalStart + right.originalLength - left.originalStart;
- }
- if (left.modifiedStart + left.modifiedLength >= right.modifiedStart) {
- modifiedLength = right.modifiedStart + right.modifiedLength - left.modifiedStart;
- }
- mergedChangeArr[0] = new DiffChange(originalStart, originalLength, modifiedStart, modifiedLength);
- return true;
- } else {
- mergedChangeArr[0] = null;
- return false;
- }
- }
- /**
- * Helper method used to clip a diagonal index to the range of valid
- * diagonals. This also decides whether or not the diagonal index,
- * if it exceeds the boundary, should be clipped to the boundary or clipped
- * one inside the boundary depending on the Even/Odd status of the boundary
- * and numDifferences.
- * @param diagonal The index of the diagonal to clip.
- * @param numDifferences The current number of differences being iterated upon.
- * @param diagonalBaseIndex The base reference diagonal.
- * @param numDiagonals The total number of diagonals.
- * @returns The clipped diagonal index.
- */
- ClipDiagonalBound(diagonal, numDifferences, diagonalBaseIndex, numDiagonals) {
- if (diagonal >= 0 && diagonal < numDiagonals) {
- return diagonal;
- }
- const diagonalsBelow = diagonalBaseIndex;
- const diagonalsAbove = numDiagonals - diagonalBaseIndex - 1;
- const diffEven = numDifferences % 2 === 0;
- if (diagonal < 0) {
- const lowerBoundEven = diagonalsBelow % 2 === 0;
- return diffEven === lowerBoundEven ? 0 : 1;
- } else {
- const upperBoundEven = diagonalsAbove % 2 === 0;
- return diffEven === upperBoundEven ? numDiagonals - 1 : numDiagonals - 2;
- }
- }
- };
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/editor/common/services/editorSimpleWorker.js
- init_uri();
- init_position();
- init_range();
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/editor/common/model/mirrorTextModel.js
- init_strings();
- init_position();
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/editor/common/model/prefixSumComputer.js
- init_arrays();
- init_uint();
- var PrefixSumComputer = class {
- constructor(values) {
- this.values = values;
- this.prefixSum = new Uint32Array(values.length);
- this.prefixSumValidIndex = new Int32Array(1);
- this.prefixSumValidIndex[0] = -1;
- }
- insertValues(insertIndex, insertValues) {
- insertIndex = toUint32(insertIndex);
- const oldValues = this.values;
- const oldPrefixSum = this.prefixSum;
- const insertValuesLen = insertValues.length;
- if (insertValuesLen === 0) {
- return false;
- }
- this.values = new Uint32Array(oldValues.length + insertValuesLen);
- this.values.set(oldValues.subarray(0, insertIndex), 0);
- this.values.set(oldValues.subarray(insertIndex), insertIndex + insertValuesLen);
- this.values.set(insertValues, insertIndex);
- if (insertIndex - 1 < this.prefixSumValidIndex[0]) {
- this.prefixSumValidIndex[0] = insertIndex - 1;
- }
- this.prefixSum = new Uint32Array(this.values.length);
- if (this.prefixSumValidIndex[0] >= 0) {
- this.prefixSum.set(oldPrefixSum.subarray(0, this.prefixSumValidIndex[0] + 1));
- }
- return true;
- }
- setValue(index, value) {
- index = toUint32(index);
- value = toUint32(value);
- if (this.values[index] === value) {
- return false;
- }
- this.values[index] = value;
- if (index - 1 < this.prefixSumValidIndex[0]) {
- this.prefixSumValidIndex[0] = index - 1;
- }
- return true;
- }
- removeValues(startIndex, count) {
- startIndex = toUint32(startIndex);
- count = toUint32(count);
- const oldValues = this.values;
- const oldPrefixSum = this.prefixSum;
- if (startIndex >= oldValues.length) {
- return false;
- }
- const maxCount = oldValues.length - startIndex;
- if (count >= maxCount) {
- count = maxCount;
- }
- if (count === 0) {
- return false;
- }
- this.values = new Uint32Array(oldValues.length - count);
- this.values.set(oldValues.subarray(0, startIndex), 0);
- this.values.set(oldValues.subarray(startIndex + count), startIndex);
- this.prefixSum = new Uint32Array(this.values.length);
- if (startIndex - 1 < this.prefixSumValidIndex[0]) {
- this.prefixSumValidIndex[0] = startIndex - 1;
- }
- if (this.prefixSumValidIndex[0] >= 0) {
- this.prefixSum.set(oldPrefixSum.subarray(0, this.prefixSumValidIndex[0] + 1));
- }
- return true;
- }
- getTotalSum() {
- if (this.values.length === 0) {
- return 0;
- }
- return this._getPrefixSum(this.values.length - 1);
- }
- /**
- * Returns the sum of the first `index + 1` many items.
- * @returns `SUM(0 <= j <= index, values[j])`.
- */
- getPrefixSum(index) {
- if (index < 0) {
- return 0;
- }
- index = toUint32(index);
- return this._getPrefixSum(index);
- }
- _getPrefixSum(index) {
- if (index <= this.prefixSumValidIndex[0]) {
- return this.prefixSum[index];
- }
- let startIndex = this.prefixSumValidIndex[0] + 1;
- if (startIndex === 0) {
- this.prefixSum[0] = this.values[0];
- startIndex++;
- }
- if (index >= this.values.length) {
- index = this.values.length - 1;
- }
- for (let i = startIndex; i <= index; i++) {
- this.prefixSum[i] = this.prefixSum[i - 1] + this.values[i];
- }
- this.prefixSumValidIndex[0] = Math.max(this.prefixSumValidIndex[0], index);
- return this.prefixSum[index];
- }
- getIndexOf(sum) {
- sum = Math.floor(sum);
- this.getTotalSum();
- let low = 0;
- let high = this.values.length - 1;
- let mid = 0;
- let midStop = 0;
- let midStart = 0;
- while (low <= high) {
- mid = low + (high - low) / 2 | 0;
- midStop = this.prefixSum[mid];
- midStart = midStop - this.values[mid];
- if (sum < midStart) {
- high = mid - 1;
- } else if (sum >= midStop) {
- low = mid + 1;
- } else {
- break;
- }
- }
- return new PrefixSumIndexOfResult(mid, sum - midStart);
- }
- };
- var ConstantTimePrefixSumComputer = class {
- constructor(values) {
- this._values = values;
- this._isValid = false;
- this._validEndIndex = -1;
- this._prefixSum = [];
- this._indexBySum = [];
- }
- /**
- * @returns SUM(0 <= j < values.length, values[j])
- */
- getTotalSum() {
- this._ensureValid();
- return this._indexBySum.length;
- }
- /**
- * Returns the sum of the first `count` many items.
- * @returns `SUM(0 <= j < count, values[j])`.
- */
- getPrefixSum(count) {
- this._ensureValid();
- if (count === 0) {
- return 0;
- }
- return this._prefixSum[count - 1];
- }
- /**
- * @returns `result`, such that `getPrefixSum(result.index) + result.remainder = sum`
- */
- getIndexOf(sum) {
- this._ensureValid();
- const idx = this._indexBySum[sum];
- const viewLinesAbove = idx > 0 ? this._prefixSum[idx - 1] : 0;
- return new PrefixSumIndexOfResult(idx, sum - viewLinesAbove);
- }
- removeValues(start, deleteCount) {
- this._values.splice(start, deleteCount);
- this._invalidate(start);
- }
- insertValues(insertIndex, insertArr) {
- this._values = arrayInsert(this._values, insertIndex, insertArr);
- this._invalidate(insertIndex);
- }
- _invalidate(index) {
- this._isValid = false;
- this._validEndIndex = Math.min(this._validEndIndex, index - 1);
- }
- _ensureValid() {
- if (this._isValid) {
- return;
- }
- for (let i = this._validEndIndex + 1, len = this._values.length; i < len; i++) {
- const value = this._values[i];
- const sumAbove = i > 0 ? this._prefixSum[i - 1] : 0;
- this._prefixSum[i] = sumAbove + value;
- for (let j = 0; j < value; j++) {
- this._indexBySum[sumAbove + j] = i;
- }
- }
- this._prefixSum.length = this._values.length;
- this._indexBySum.length = this._prefixSum[this._prefixSum.length - 1];
- this._isValid = true;
- this._validEndIndex = this._values.length - 1;
- }
- setValue(index, value) {
- if (this._values[index] === value) {
- return;
- }
- this._values[index] = value;
- this._invalidate(index);
- }
- };
- var PrefixSumIndexOfResult = class {
- constructor(index, remainder) {
- this.index = index;
- this.remainder = remainder;
- this._prefixSumIndexOfResultBrand = void 0;
- this.index = index;
- this.remainder = remainder;
- }
- };
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/editor/common/model/mirrorTextModel.js
- var MirrorTextModel = class {
- constructor(uri, lines, eol, versionId) {
- this._uri = uri;
- this._lines = lines;
- this._eol = eol;
- this._versionId = versionId;
- this._lineStarts = null;
- this._cachedTextValue = null;
- }
- dispose() {
- this._lines.length = 0;
- }
- get version() {
- return this._versionId;
- }
- getText() {
- if (this._cachedTextValue === null) {
- this._cachedTextValue = this._lines.join(this._eol);
- }
- return this._cachedTextValue;
- }
- onEvents(e) {
- if (e.eol && e.eol !== this._eol) {
- this._eol = e.eol;
- this._lineStarts = null;
- }
- const changes = e.changes;
- for (const change of changes) {
- this._acceptDeleteRange(change.range);
- this._acceptInsertText(new Position(change.range.startLineNumber, change.range.startColumn), change.text);
- }
- this._versionId = e.versionId;
- this._cachedTextValue = null;
- }
- _ensureLineStarts() {
- if (!this._lineStarts) {
- const eolLength = this._eol.length;
- const linesLength = this._lines.length;
- const lineStartValues = new Uint32Array(linesLength);
- for (let i = 0; i < linesLength; i++) {
- lineStartValues[i] = this._lines[i].length + eolLength;
- }
- this._lineStarts = new PrefixSumComputer(lineStartValues);
- }
- }
- /**
- * All changes to a line's text go through this method
- */
- _setLineText(lineIndex, newValue) {
- this._lines[lineIndex] = newValue;
- if (this._lineStarts) {
- this._lineStarts.setValue(lineIndex, this._lines[lineIndex].length + this._eol.length);
- }
- }
- _acceptDeleteRange(range2) {
- if (range2.startLineNumber === range2.endLineNumber) {
- if (range2.startColumn === range2.endColumn) {
- return;
- }
- this._setLineText(range2.startLineNumber - 1, this._lines[range2.startLineNumber - 1].substring(0, range2.startColumn - 1) + this._lines[range2.startLineNumber - 1].substring(range2.endColumn - 1));
- return;
- }
- this._setLineText(range2.startLineNumber - 1, this._lines[range2.startLineNumber - 1].substring(0, range2.startColumn - 1) + this._lines[range2.endLineNumber - 1].substring(range2.endColumn - 1));
- this._lines.splice(range2.startLineNumber, range2.endLineNumber - range2.startLineNumber);
- if (this._lineStarts) {
- this._lineStarts.removeValues(range2.startLineNumber, range2.endLineNumber - range2.startLineNumber);
- }
- }
- _acceptInsertText(position, insertText) {
- if (insertText.length === 0) {
- return;
- }
- const insertLines = splitLines(insertText);
- if (insertLines.length === 1) {
- this._setLineText(position.lineNumber - 1, this._lines[position.lineNumber - 1].substring(0, position.column - 1) + insertLines[0] + this._lines[position.lineNumber - 1].substring(position.column - 1));
- return;
- }
- insertLines[insertLines.length - 1] += this._lines[position.lineNumber - 1].substring(position.column - 1);
- this._setLineText(position.lineNumber - 1, this._lines[position.lineNumber - 1].substring(0, position.column - 1) + insertLines[0]);
- const newLengths = new Uint32Array(insertLines.length - 1);
- for (let i = 1; i < insertLines.length; i++) {
- this._lines.splice(position.lineNumber + i - 1, 0, insertLines[i]);
- newLengths[i - 1] = insertLines[i].length + this._eol.length;
- }
- if (this._lineStarts) {
- this._lineStarts.insertValues(position.lineNumber, newLengths);
- }
- }
- };
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/editor/common/services/editorSimpleWorker.js
- init_wordHelper();
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/editor/common/languages/linkComputer.js
- init_characterClassifier();
- var Uint8Matrix = class {
- constructor(rows, cols, defaultValue) {
- const data = new Uint8Array(rows * cols);
- for (let i = 0, len = rows * cols; i < len; i++) {
- data[i] = defaultValue;
- }
- this._data = data;
- this.rows = rows;
- this.cols = cols;
- }
- get(row, col) {
- return this._data[row * this.cols + col];
- }
- set(row, col, value) {
- this._data[row * this.cols + col] = value;
- }
- };
- var StateMachine = class {
- constructor(edges) {
- let maxCharCode = 0;
- let maxState = 0;
- for (let i = 0, len = edges.length; i < len; i++) {
- const [from, chCode, to] = edges[i];
- if (chCode > maxCharCode) {
- maxCharCode = chCode;
- }
- if (from > maxState) {
- maxState = from;
- }
- if (to > maxState) {
- maxState = to;
- }
- }
- maxCharCode++;
- maxState++;
- const states = new Uint8Matrix(
- maxState,
- maxCharCode,
- 0
- /* State.Invalid */
- );
- for (let i = 0, len = edges.length; i < len; i++) {
- const [from, chCode, to] = edges[i];
- states.set(from, chCode, to);
- }
- this._states = states;
- this._maxCharCode = maxCharCode;
- }
- nextState(currentState, chCode) {
- if (chCode < 0 || chCode >= this._maxCharCode) {
- return 0;
- }
- return this._states.get(currentState, chCode);
- }
- };
- var _stateMachine = null;
- function getStateMachine() {
- if (_stateMachine === null) {
- _stateMachine = new StateMachine([
- [
- 1,
- 104,
- 2
- /* State.H */
- ],
- [
- 1,
- 72,
- 2
- /* State.H */
- ],
- [
- 1,
- 102,
- 6
- /* State.F */
- ],
- [
- 1,
- 70,
- 6
- /* State.F */
- ],
- [
- 2,
- 116,
- 3
- /* State.HT */
- ],
- [
- 2,
- 84,
- 3
- /* State.HT */
- ],
- [
- 3,
- 116,
- 4
- /* State.HTT */
- ],
- [
- 3,
- 84,
- 4
- /* State.HTT */
- ],
- [
- 4,
- 112,
- 5
- /* State.HTTP */
- ],
- [
- 4,
- 80,
- 5
- /* State.HTTP */
- ],
- [
- 5,
- 115,
- 9
- /* State.BeforeColon */
- ],
- [
- 5,
- 83,
- 9
- /* State.BeforeColon */
- ],
- [
- 5,
- 58,
- 10
- /* State.AfterColon */
- ],
- [
- 6,
- 105,
- 7
- /* State.FI */
- ],
- [
- 6,
- 73,
- 7
- /* State.FI */
- ],
- [
- 7,
- 108,
- 8
- /* State.FIL */
- ],
- [
- 7,
- 76,
- 8
- /* State.FIL */
- ],
- [
- 8,
- 101,
- 9
- /* State.BeforeColon */
- ],
- [
- 8,
- 69,
- 9
- /* State.BeforeColon */
- ],
- [
- 9,
- 58,
- 10
- /* State.AfterColon */
- ],
- [
- 10,
- 47,
- 11
- /* State.AlmostThere */
- ],
- [
- 11,
- 47,
- 12
- /* State.End */
- ]
- ]);
- }
- return _stateMachine;
- }
- var _classifier = null;
- function getClassifier() {
- if (_classifier === null) {
- _classifier = new CharacterClassifier(
- 0
- /* CharacterClass.None */
- );
- const FORCE_TERMINATION_CHARACTERS = ` <>'"、。。、,.:;‘〈「『〔([{「」}])〕』」〉’`~…`;
- for (let i = 0; i < FORCE_TERMINATION_CHARACTERS.length; i++) {
- _classifier.set(
- FORCE_TERMINATION_CHARACTERS.charCodeAt(i),
- 1
- /* CharacterClass.ForceTermination */
- );
- }
- const CANNOT_END_WITH_CHARACTERS = ".,;:";
- for (let i = 0; i < CANNOT_END_WITH_CHARACTERS.length; i++) {
- _classifier.set(
- CANNOT_END_WITH_CHARACTERS.charCodeAt(i),
- 2
- /* CharacterClass.CannotEndIn */
- );
- }
- }
- return _classifier;
- }
- var LinkComputer = class _LinkComputer {
- static _createLink(classifier, line, lineNumber, linkBeginIndex, linkEndIndex) {
- let lastIncludedCharIndex = linkEndIndex - 1;
- do {
- const chCode = line.charCodeAt(lastIncludedCharIndex);
- const chClass = classifier.get(chCode);
- if (chClass !== 2) {
- break;
- }
- lastIncludedCharIndex--;
- } while (lastIncludedCharIndex > linkBeginIndex);
- if (linkBeginIndex > 0) {
- const charCodeBeforeLink = line.charCodeAt(linkBeginIndex - 1);
- const lastCharCodeInLink = line.charCodeAt(lastIncludedCharIndex);
- if (charCodeBeforeLink === 40 && lastCharCodeInLink === 41 || charCodeBeforeLink === 91 && lastCharCodeInLink === 93 || charCodeBeforeLink === 123 && lastCharCodeInLink === 125) {
- lastIncludedCharIndex--;
- }
- }
- return {
- range: {
- startLineNumber: lineNumber,
- startColumn: linkBeginIndex + 1,
- endLineNumber: lineNumber,
- endColumn: lastIncludedCharIndex + 2
- },
- url: line.substring(linkBeginIndex, lastIncludedCharIndex + 1)
- };
- }
- static computeLinks(model, stateMachine = getStateMachine()) {
- const classifier = getClassifier();
- const result = [];
- for (let i = 1, lineCount = model.getLineCount(); i <= lineCount; i++) {
- const line = model.getLineContent(i);
- const len = line.length;
- let j = 0;
- let linkBeginIndex = 0;
- let linkBeginChCode = 0;
- let state = 1;
- let hasOpenParens = false;
- let hasOpenSquareBracket = false;
- let inSquareBrackets = false;
- let hasOpenCurlyBracket = false;
- while (j < len) {
- let resetStateMachine = false;
- const chCode = line.charCodeAt(j);
- if (state === 13) {
- let chClass;
- switch (chCode) {
- case 40:
- hasOpenParens = true;
- chClass = 0;
- break;
- case 41:
- chClass = hasOpenParens ? 0 : 1;
- break;
- case 91:
- inSquareBrackets = true;
- hasOpenSquareBracket = true;
- chClass = 0;
- break;
- case 93:
- inSquareBrackets = false;
- chClass = hasOpenSquareBracket ? 0 : 1;
- break;
- case 123:
- hasOpenCurlyBracket = true;
- chClass = 0;
- break;
- case 125:
- chClass = hasOpenCurlyBracket ? 0 : 1;
- break;
- case 39:
- case 34:
- case 96:
- if (linkBeginChCode === chCode) {
- chClass = 1;
- } else if (linkBeginChCode === 39 || linkBeginChCode === 34 || linkBeginChCode === 96) {
- chClass = 0;
- } else {
- chClass = 1;
- }
- break;
- case 42:
- chClass = linkBeginChCode === 42 ? 1 : 0;
- break;
- case 124:
- chClass = linkBeginChCode === 124 ? 1 : 0;
- break;
- case 32:
- chClass = inSquareBrackets ? 0 : 1;
- break;
- default:
- chClass = classifier.get(chCode);
- }
- if (chClass === 1) {
- result.push(_LinkComputer._createLink(classifier, line, i, linkBeginIndex, j));
- resetStateMachine = true;
- }
- } else if (state === 12) {
- let chClass;
- if (chCode === 91) {
- hasOpenSquareBracket = true;
- chClass = 0;
- } else {
- chClass = classifier.get(chCode);
- }
- if (chClass === 1) {
- resetStateMachine = true;
- } else {
- state = 13;
- }
- } else {
- state = stateMachine.nextState(state, chCode);
- if (state === 0) {
- resetStateMachine = true;
- }
- }
- if (resetStateMachine) {
- state = 1;
- hasOpenParens = false;
- hasOpenSquareBracket = false;
- hasOpenCurlyBracket = false;
- linkBeginIndex = j + 1;
- linkBeginChCode = chCode;
- }
- j++;
- }
- if (state === 13) {
- result.push(_LinkComputer._createLink(classifier, line, i, linkBeginIndex, len));
- }
- }
- return result;
- }
- };
- function computeLinks(model) {
- if (!model || typeof model.getLineCount !== "function" || typeof model.getLineContent !== "function") {
- return [];
- }
- return LinkComputer.computeLinks(model);
- }
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/editor/common/languages/supports/inplaceReplaceSupport.js
- var BasicInplaceReplace = class {
- constructor() {
- this._defaultValueSet = [
- ["true", "false"],
- ["True", "False"],
- ["Private", "Public", "Friend", "ReadOnly", "Partial", "Protected", "WriteOnly"],
- ["public", "protected", "private"]
- ];
- }
- navigateValueSet(range1, text1, range2, text2, up) {
- if (range1 && text1) {
- const result = this.doNavigateValueSet(text1, up);
- if (result) {
- return {
- range: range1,
- value: result
- };
- }
- }
- if (range2 && text2) {
- const result = this.doNavigateValueSet(text2, up);
- if (result) {
- return {
- range: range2,
- value: result
- };
- }
- }
- return null;
- }
- doNavigateValueSet(text, up) {
- const numberResult = this.numberReplace(text, up);
- if (numberResult !== null) {
- return numberResult;
- }
- return this.textReplace(text, up);
- }
- numberReplace(value, up) {
- const precision = Math.pow(10, value.length - (value.lastIndexOf(".") + 1));
- let n1 = Number(value);
- const n2 = parseFloat(value);
- if (!isNaN(n1) && !isNaN(n2) && n1 === n2) {
- if (n1 === 0 && !up) {
- return null;
- } else {
- n1 = Math.floor(n1 * precision);
- n1 += up ? precision : -precision;
- return String(n1 / precision);
- }
- }
- return null;
- }
- textReplace(value, up) {
- return this.valueSetsReplace(this._defaultValueSet, value, up);
- }
- valueSetsReplace(valueSets, value, up) {
- let result = null;
- for (let i = 0, len = valueSets.length; result === null && i < len; i++) {
- result = this.valueSetReplace(valueSets[i], value, up);
- }
- return result;
- }
- valueSetReplace(valueSet, value, up) {
- let idx = valueSet.indexOf(value);
- if (idx >= 0) {
- idx += up ? 1 : -1;
- if (idx < 0) {
- idx = valueSet.length - 1;
- } else {
- idx %= valueSet.length;
- }
- return valueSet[idx];
- }
- return null;
- }
- };
- BasicInplaceReplace.INSTANCE = new BasicInplaceReplace();
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/editor/common/services/editorBaseApi.js
- init_cancellation();
- init_event();
- init_keyCodes();
- init_uri();
- init_position();
- init_range();
- init_selection();
- init_languages();
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/editor/common/standalone/standaloneEnums.js
- var AccessibilitySupport;
- (function(AccessibilitySupport2) {
- AccessibilitySupport2[AccessibilitySupport2["Unknown"] = 0] = "Unknown";
- AccessibilitySupport2[AccessibilitySupport2["Disabled"] = 1] = "Disabled";
- AccessibilitySupport2[AccessibilitySupport2["Enabled"] = 2] = "Enabled";
- })(AccessibilitySupport || (AccessibilitySupport = {}));
- var CodeActionTriggerType;
- (function(CodeActionTriggerType2) {
- CodeActionTriggerType2[CodeActionTriggerType2["Invoke"] = 1] = "Invoke";
- CodeActionTriggerType2[CodeActionTriggerType2["Auto"] = 2] = "Auto";
- })(CodeActionTriggerType || (CodeActionTriggerType = {}));
- var CompletionItemInsertTextRule;
- (function(CompletionItemInsertTextRule2) {
- CompletionItemInsertTextRule2[CompletionItemInsertTextRule2["None"] = 0] = "None";
- CompletionItemInsertTextRule2[CompletionItemInsertTextRule2["KeepWhitespace"] = 1] = "KeepWhitespace";
- CompletionItemInsertTextRule2[CompletionItemInsertTextRule2["InsertAsSnippet"] = 4] = "InsertAsSnippet";
- })(CompletionItemInsertTextRule || (CompletionItemInsertTextRule = {}));
- var CompletionItemKind;
- (function(CompletionItemKind2) {
- CompletionItemKind2[CompletionItemKind2["Method"] = 0] = "Method";
- CompletionItemKind2[CompletionItemKind2["Function"] = 1] = "Function";
- CompletionItemKind2[CompletionItemKind2["Constructor"] = 2] = "Constructor";
- CompletionItemKind2[CompletionItemKind2["Field"] = 3] = "Field";
- CompletionItemKind2[CompletionItemKind2["Variable"] = 4] = "Variable";
- CompletionItemKind2[CompletionItemKind2["Class"] = 5] = "Class";
- CompletionItemKind2[CompletionItemKind2["Struct"] = 6] = "Struct";
- CompletionItemKind2[CompletionItemKind2["Interface"] = 7] = "Interface";
- CompletionItemKind2[CompletionItemKind2["Module"] = 8] = "Module";
- CompletionItemKind2[CompletionItemKind2["Property"] = 9] = "Property";
- CompletionItemKind2[CompletionItemKind2["Event"] = 10] = "Event";
- CompletionItemKind2[CompletionItemKind2["Operator"] = 11] = "Operator";
- CompletionItemKind2[CompletionItemKind2["Unit"] = 12] = "Unit";
- CompletionItemKind2[CompletionItemKind2["Value"] = 13] = "Value";
- CompletionItemKind2[CompletionItemKind2["Constant"] = 14] = "Constant";
- CompletionItemKind2[CompletionItemKind2["Enum"] = 15] = "Enum";
- CompletionItemKind2[CompletionItemKind2["EnumMember"] = 16] = "EnumMember";
- CompletionItemKind2[CompletionItemKind2["Keyword"] = 17] = "Keyword";
- CompletionItemKind2[CompletionItemKind2["Text"] = 18] = "Text";
- CompletionItemKind2[CompletionItemKind2["Color"] = 19] = "Color";
- CompletionItemKind2[CompletionItemKind2["File"] = 20] = "File";
- CompletionItemKind2[CompletionItemKind2["Reference"] = 21] = "Reference";
- CompletionItemKind2[CompletionItemKind2["Customcolor"] = 22] = "Customcolor";
- CompletionItemKind2[CompletionItemKind2["Folder"] = 23] = "Folder";
- CompletionItemKind2[CompletionItemKind2["TypeParameter"] = 24] = "TypeParameter";
- CompletionItemKind2[CompletionItemKind2["User"] = 25] = "User";
- CompletionItemKind2[CompletionItemKind2["Issue"] = 26] = "Issue";
- CompletionItemKind2[CompletionItemKind2["Snippet"] = 27] = "Snippet";
- })(CompletionItemKind || (CompletionItemKind = {}));
- var CompletionItemTag;
- (function(CompletionItemTag2) {
- CompletionItemTag2[CompletionItemTag2["Deprecated"] = 1] = "Deprecated";
- })(CompletionItemTag || (CompletionItemTag = {}));
- var CompletionTriggerKind;
- (function(CompletionTriggerKind2) {
- CompletionTriggerKind2[CompletionTriggerKind2["Invoke"] = 0] = "Invoke";
- CompletionTriggerKind2[CompletionTriggerKind2["TriggerCharacter"] = 1] = "TriggerCharacter";
- CompletionTriggerKind2[CompletionTriggerKind2["TriggerForIncompleteCompletions"] = 2] = "TriggerForIncompleteCompletions";
- })(CompletionTriggerKind || (CompletionTriggerKind = {}));
- var ContentWidgetPositionPreference;
- (function(ContentWidgetPositionPreference2) {
- ContentWidgetPositionPreference2[ContentWidgetPositionPreference2["EXACT"] = 0] = "EXACT";
- ContentWidgetPositionPreference2[ContentWidgetPositionPreference2["ABOVE"] = 1] = "ABOVE";
- ContentWidgetPositionPreference2[ContentWidgetPositionPreference2["BELOW"] = 2] = "BELOW";
- })(ContentWidgetPositionPreference || (ContentWidgetPositionPreference = {}));
- var CursorChangeReason;
- (function(CursorChangeReason2) {
- CursorChangeReason2[CursorChangeReason2["NotSet"] = 0] = "NotSet";
- CursorChangeReason2[CursorChangeReason2["ContentFlush"] = 1] = "ContentFlush";
- CursorChangeReason2[CursorChangeReason2["RecoverFromMarkers"] = 2] = "RecoverFromMarkers";
- CursorChangeReason2[CursorChangeReason2["Explicit"] = 3] = "Explicit";
- CursorChangeReason2[CursorChangeReason2["Paste"] = 4] = "Paste";
- CursorChangeReason2[CursorChangeReason2["Undo"] = 5] = "Undo";
- CursorChangeReason2[CursorChangeReason2["Redo"] = 6] = "Redo";
- })(CursorChangeReason || (CursorChangeReason = {}));
- var DefaultEndOfLine;
- (function(DefaultEndOfLine2) {
- DefaultEndOfLine2[DefaultEndOfLine2["LF"] = 1] = "LF";
- DefaultEndOfLine2[DefaultEndOfLine2["CRLF"] = 2] = "CRLF";
- })(DefaultEndOfLine || (DefaultEndOfLine = {}));
- var DocumentHighlightKind2;
- (function(DocumentHighlightKind3) {
- DocumentHighlightKind3[DocumentHighlightKind3["Text"] = 0] = "Text";
- DocumentHighlightKind3[DocumentHighlightKind3["Read"] = 1] = "Read";
- DocumentHighlightKind3[DocumentHighlightKind3["Write"] = 2] = "Write";
- })(DocumentHighlightKind2 || (DocumentHighlightKind2 = {}));
- var EditorAutoIndentStrategy;
- (function(EditorAutoIndentStrategy2) {
- EditorAutoIndentStrategy2[EditorAutoIndentStrategy2["None"] = 0] = "None";
- EditorAutoIndentStrategy2[EditorAutoIndentStrategy2["Keep"] = 1] = "Keep";
- EditorAutoIndentStrategy2[EditorAutoIndentStrategy2["Brackets"] = 2] = "Brackets";
- EditorAutoIndentStrategy2[EditorAutoIndentStrategy2["Advanced"] = 3] = "Advanced";
- EditorAutoIndentStrategy2[EditorAutoIndentStrategy2["Full"] = 4] = "Full";
- })(EditorAutoIndentStrategy || (EditorAutoIndentStrategy = {}));
- var EditorOption;
- (function(EditorOption2) {
- EditorOption2[EditorOption2["acceptSuggestionOnCommitCharacter"] = 0] = "acceptSuggestionOnCommitCharacter";
- EditorOption2[EditorOption2["acceptSuggestionOnEnter"] = 1] = "acceptSuggestionOnEnter";
- EditorOption2[EditorOption2["accessibilitySupport"] = 2] = "accessibilitySupport";
- EditorOption2[EditorOption2["accessibilityPageSize"] = 3] = "accessibilityPageSize";
- EditorOption2[EditorOption2["ariaLabel"] = 4] = "ariaLabel";
- EditorOption2[EditorOption2["autoClosingBrackets"] = 5] = "autoClosingBrackets";
- EditorOption2[EditorOption2["screenReaderAnnounceInlineSuggestion"] = 6] = "screenReaderAnnounceInlineSuggestion";
- EditorOption2[EditorOption2["autoClosingDelete"] = 7] = "autoClosingDelete";
- EditorOption2[EditorOption2["autoClosingOvertype"] = 8] = "autoClosingOvertype";
- EditorOption2[EditorOption2["autoClosingQuotes"] = 9] = "autoClosingQuotes";
- EditorOption2[EditorOption2["autoIndent"] = 10] = "autoIndent";
- EditorOption2[EditorOption2["automaticLayout"] = 11] = "automaticLayout";
- EditorOption2[EditorOption2["autoSurround"] = 12] = "autoSurround";
- EditorOption2[EditorOption2["bracketPairColorization"] = 13] = "bracketPairColorization";
- EditorOption2[EditorOption2["guides"] = 14] = "guides";
- EditorOption2[EditorOption2["codeLens"] = 15] = "codeLens";
- EditorOption2[EditorOption2["codeLensFontFamily"] = 16] = "codeLensFontFamily";
- EditorOption2[EditorOption2["codeLensFontSize"] = 17] = "codeLensFontSize";
- EditorOption2[EditorOption2["colorDecorators"] = 18] = "colorDecorators";
- EditorOption2[EditorOption2["colorDecoratorsLimit"] = 19] = "colorDecoratorsLimit";
- EditorOption2[EditorOption2["columnSelection"] = 20] = "columnSelection";
- EditorOption2[EditorOption2["comments"] = 21] = "comments";
- EditorOption2[EditorOption2["contextmenu"] = 22] = "contextmenu";
- EditorOption2[EditorOption2["copyWithSyntaxHighlighting"] = 23] = "copyWithSyntaxHighlighting";
- EditorOption2[EditorOption2["cursorBlinking"] = 24] = "cursorBlinking";
- EditorOption2[EditorOption2["cursorSmoothCaretAnimation"] = 25] = "cursorSmoothCaretAnimation";
- EditorOption2[EditorOption2["cursorStyle"] = 26] = "cursorStyle";
- EditorOption2[EditorOption2["cursorSurroundingLines"] = 27] = "cursorSurroundingLines";
- EditorOption2[EditorOption2["cursorSurroundingLinesStyle"] = 28] = "cursorSurroundingLinesStyle";
- EditorOption2[EditorOption2["cursorWidth"] = 29] = "cursorWidth";
- EditorOption2[EditorOption2["disableLayerHinting"] = 30] = "disableLayerHinting";
- EditorOption2[EditorOption2["disableMonospaceOptimizations"] = 31] = "disableMonospaceOptimizations";
- EditorOption2[EditorOption2["domReadOnly"] = 32] = "domReadOnly";
- EditorOption2[EditorOption2["dragAndDrop"] = 33] = "dragAndDrop";
- EditorOption2[EditorOption2["dropIntoEditor"] = 34] = "dropIntoEditor";
- EditorOption2[EditorOption2["emptySelectionClipboard"] = 35] = "emptySelectionClipboard";
- EditorOption2[EditorOption2["experimentalWhitespaceRendering"] = 36] = "experimentalWhitespaceRendering";
- EditorOption2[EditorOption2["extraEditorClassName"] = 37] = "extraEditorClassName";
- EditorOption2[EditorOption2["fastScrollSensitivity"] = 38] = "fastScrollSensitivity";
- EditorOption2[EditorOption2["find"] = 39] = "find";
- EditorOption2[EditorOption2["fixedOverflowWidgets"] = 40] = "fixedOverflowWidgets";
- EditorOption2[EditorOption2["folding"] = 41] = "folding";
- EditorOption2[EditorOption2["foldingStrategy"] = 42] = "foldingStrategy";
- EditorOption2[EditorOption2["foldingHighlight"] = 43] = "foldingHighlight";
- EditorOption2[EditorOption2["foldingImportsByDefault"] = 44] = "foldingImportsByDefault";
- EditorOption2[EditorOption2["foldingMaximumRegions"] = 45] = "foldingMaximumRegions";
- EditorOption2[EditorOption2["unfoldOnClickAfterEndOfLine"] = 46] = "unfoldOnClickAfterEndOfLine";
- EditorOption2[EditorOption2["fontFamily"] = 47] = "fontFamily";
- EditorOption2[EditorOption2["fontInfo"] = 48] = "fontInfo";
- EditorOption2[EditorOption2["fontLigatures"] = 49] = "fontLigatures";
- EditorOption2[EditorOption2["fontSize"] = 50] = "fontSize";
- EditorOption2[EditorOption2["fontWeight"] = 51] = "fontWeight";
- EditorOption2[EditorOption2["fontVariations"] = 52] = "fontVariations";
- EditorOption2[EditorOption2["formatOnPaste"] = 53] = "formatOnPaste";
- EditorOption2[EditorOption2["formatOnType"] = 54] = "formatOnType";
- EditorOption2[EditorOption2["glyphMargin"] = 55] = "glyphMargin";
- EditorOption2[EditorOption2["gotoLocation"] = 56] = "gotoLocation";
- EditorOption2[EditorOption2["hideCursorInOverviewRuler"] = 57] = "hideCursorInOverviewRuler";
- EditorOption2[EditorOption2["hover"] = 58] = "hover";
- EditorOption2[EditorOption2["inDiffEditor"] = 59] = "inDiffEditor";
- EditorOption2[EditorOption2["inlineSuggest"] = 60] = "inlineSuggest";
- EditorOption2[EditorOption2["letterSpacing"] = 61] = "letterSpacing";
- EditorOption2[EditorOption2["lightbulb"] = 62] = "lightbulb";
- EditorOption2[EditorOption2["lineDecorationsWidth"] = 63] = "lineDecorationsWidth";
- EditorOption2[EditorOption2["lineHeight"] = 64] = "lineHeight";
- EditorOption2[EditorOption2["lineNumbers"] = 65] = "lineNumbers";
- EditorOption2[EditorOption2["lineNumbersMinChars"] = 66] = "lineNumbersMinChars";
- EditorOption2[EditorOption2["linkedEditing"] = 67] = "linkedEditing";
- EditorOption2[EditorOption2["links"] = 68] = "links";
- EditorOption2[EditorOption2["matchBrackets"] = 69] = "matchBrackets";
- EditorOption2[EditorOption2["minimap"] = 70] = "minimap";
- EditorOption2[EditorOption2["mouseStyle"] = 71] = "mouseStyle";
- EditorOption2[EditorOption2["mouseWheelScrollSensitivity"] = 72] = "mouseWheelScrollSensitivity";
- EditorOption2[EditorOption2["mouseWheelZoom"] = 73] = "mouseWheelZoom";
- EditorOption2[EditorOption2["multiCursorMergeOverlapping"] = 74] = "multiCursorMergeOverlapping";
- EditorOption2[EditorOption2["multiCursorModifier"] = 75] = "multiCursorModifier";
- EditorOption2[EditorOption2["multiCursorPaste"] = 76] = "multiCursorPaste";
- EditorOption2[EditorOption2["multiCursorLimit"] = 77] = "multiCursorLimit";
- EditorOption2[EditorOption2["occurrencesHighlight"] = 78] = "occurrencesHighlight";
- EditorOption2[EditorOption2["overviewRulerBorder"] = 79] = "overviewRulerBorder";
- EditorOption2[EditorOption2["overviewRulerLanes"] = 80] = "overviewRulerLanes";
- EditorOption2[EditorOption2["padding"] = 81] = "padding";
- EditorOption2[EditorOption2["parameterHints"] = 82] = "parameterHints";
- EditorOption2[EditorOption2["peekWidgetDefaultFocus"] = 83] = "peekWidgetDefaultFocus";
- EditorOption2[EditorOption2["definitionLinkOpensInPeek"] = 84] = "definitionLinkOpensInPeek";
- EditorOption2[EditorOption2["quickSuggestions"] = 85] = "quickSuggestions";
- EditorOption2[EditorOption2["quickSuggestionsDelay"] = 86] = "quickSuggestionsDelay";
- EditorOption2[EditorOption2["readOnly"] = 87] = "readOnly";
- EditorOption2[EditorOption2["renameOnType"] = 88] = "renameOnType";
- EditorOption2[EditorOption2["renderControlCharacters"] = 89] = "renderControlCharacters";
- EditorOption2[EditorOption2["renderFinalNewline"] = 90] = "renderFinalNewline";
- EditorOption2[EditorOption2["renderLineHighlight"] = 91] = "renderLineHighlight";
- EditorOption2[EditorOption2["renderLineHighlightOnlyWhenFocus"] = 92] = "renderLineHighlightOnlyWhenFocus";
- EditorOption2[EditorOption2["renderValidationDecorations"] = 93] = "renderValidationDecorations";
- EditorOption2[EditorOption2["renderWhitespace"] = 94] = "renderWhitespace";
- EditorOption2[EditorOption2["revealHorizontalRightPadding"] = 95] = "revealHorizontalRightPadding";
- EditorOption2[EditorOption2["roundedSelection"] = 96] = "roundedSelection";
- EditorOption2[EditorOption2["rulers"] = 97] = "rulers";
- EditorOption2[EditorOption2["scrollbar"] = 98] = "scrollbar";
- EditorOption2[EditorOption2["scrollBeyondLastColumn"] = 99] = "scrollBeyondLastColumn";
- EditorOption2[EditorOption2["scrollBeyondLastLine"] = 100] = "scrollBeyondLastLine";
- EditorOption2[EditorOption2["scrollPredominantAxis"] = 101] = "scrollPredominantAxis";
- EditorOption2[EditorOption2["selectionClipboard"] = 102] = "selectionClipboard";
- EditorOption2[EditorOption2["selectionHighlight"] = 103] = "selectionHighlight";
- EditorOption2[EditorOption2["selectOnLineNumbers"] = 104] = "selectOnLineNumbers";
- EditorOption2[EditorOption2["showFoldingControls"] = 105] = "showFoldingControls";
- EditorOption2[EditorOption2["showUnused"] = 106] = "showUnused";
- EditorOption2[EditorOption2["snippetSuggestions"] = 107] = "snippetSuggestions";
- EditorOption2[EditorOption2["smartSelect"] = 108] = "smartSelect";
- EditorOption2[EditorOption2["smoothScrolling"] = 109] = "smoothScrolling";
- EditorOption2[EditorOption2["stickyScroll"] = 110] = "stickyScroll";
- EditorOption2[EditorOption2["stickyTabStops"] = 111] = "stickyTabStops";
- EditorOption2[EditorOption2["stopRenderingLineAfter"] = 112] = "stopRenderingLineAfter";
- EditorOption2[EditorOption2["suggest"] = 113] = "suggest";
- EditorOption2[EditorOption2["suggestFontSize"] = 114] = "suggestFontSize";
- EditorOption2[EditorOption2["suggestLineHeight"] = 115] = "suggestLineHeight";
- EditorOption2[EditorOption2["suggestOnTriggerCharacters"] = 116] = "suggestOnTriggerCharacters";
- EditorOption2[EditorOption2["suggestSelection"] = 117] = "suggestSelection";
- EditorOption2[EditorOption2["tabCompletion"] = 118] = "tabCompletion";
- EditorOption2[EditorOption2["tabIndex"] = 119] = "tabIndex";
- EditorOption2[EditorOption2["unicodeHighlighting"] = 120] = "unicodeHighlighting";
- EditorOption2[EditorOption2["unusualLineTerminators"] = 121] = "unusualLineTerminators";
- EditorOption2[EditorOption2["useShadowDOM"] = 122] = "useShadowDOM";
- EditorOption2[EditorOption2["useTabStops"] = 123] = "useTabStops";
- EditorOption2[EditorOption2["wordBreak"] = 124] = "wordBreak";
- EditorOption2[EditorOption2["wordSeparators"] = 125] = "wordSeparators";
- EditorOption2[EditorOption2["wordWrap"] = 126] = "wordWrap";
- EditorOption2[EditorOption2["wordWrapBreakAfterCharacters"] = 127] = "wordWrapBreakAfterCharacters";
- EditorOption2[EditorOption2["wordWrapBreakBeforeCharacters"] = 128] = "wordWrapBreakBeforeCharacters";
- EditorOption2[EditorOption2["wordWrapColumn"] = 129] = "wordWrapColumn";
- EditorOption2[EditorOption2["wordWrapOverride1"] = 130] = "wordWrapOverride1";
- EditorOption2[EditorOption2["wordWrapOverride2"] = 131] = "wordWrapOverride2";
- EditorOption2[EditorOption2["wrappingIndent"] = 132] = "wrappingIndent";
- EditorOption2[EditorOption2["wrappingStrategy"] = 133] = "wrappingStrategy";
- EditorOption2[EditorOption2["showDeprecated"] = 134] = "showDeprecated";
- EditorOption2[EditorOption2["inlayHints"] = 135] = "inlayHints";
- EditorOption2[EditorOption2["editorClassName"] = 136] = "editorClassName";
- EditorOption2[EditorOption2["pixelRatio"] = 137] = "pixelRatio";
- EditorOption2[EditorOption2["tabFocusMode"] = 138] = "tabFocusMode";
- EditorOption2[EditorOption2["layoutInfo"] = 139] = "layoutInfo";
- EditorOption2[EditorOption2["wrappingInfo"] = 140] = "wrappingInfo";
- EditorOption2[EditorOption2["defaultColorDecorators"] = 141] = "defaultColorDecorators";
- })(EditorOption || (EditorOption = {}));
- var EndOfLinePreference;
- (function(EndOfLinePreference2) {
- EndOfLinePreference2[EndOfLinePreference2["TextDefined"] = 0] = "TextDefined";
- EndOfLinePreference2[EndOfLinePreference2["LF"] = 1] = "LF";
- EndOfLinePreference2[EndOfLinePreference2["CRLF"] = 2] = "CRLF";
- })(EndOfLinePreference || (EndOfLinePreference = {}));
- var EndOfLineSequence;
- (function(EndOfLineSequence2) {
- EndOfLineSequence2[EndOfLineSequence2["LF"] = 0] = "LF";
- EndOfLineSequence2[EndOfLineSequence2["CRLF"] = 1] = "CRLF";
- })(EndOfLineSequence || (EndOfLineSequence = {}));
- var GlyphMarginLane;
- (function(GlyphMarginLane3) {
- GlyphMarginLane3[GlyphMarginLane3["Left"] = 1] = "Left";
- GlyphMarginLane3[GlyphMarginLane3["Right"] = 2] = "Right";
- })(GlyphMarginLane || (GlyphMarginLane = {}));
- var IndentAction;
- (function(IndentAction2) {
- IndentAction2[IndentAction2["None"] = 0] = "None";
- IndentAction2[IndentAction2["Indent"] = 1] = "Indent";
- IndentAction2[IndentAction2["IndentOutdent"] = 2] = "IndentOutdent";
- IndentAction2[IndentAction2["Outdent"] = 3] = "Outdent";
- })(IndentAction || (IndentAction = {}));
- var InjectedTextCursorStops;
- (function(InjectedTextCursorStops3) {
- InjectedTextCursorStops3[InjectedTextCursorStops3["Both"] = 0] = "Both";
- InjectedTextCursorStops3[InjectedTextCursorStops3["Right"] = 1] = "Right";
- InjectedTextCursorStops3[InjectedTextCursorStops3["Left"] = 2] = "Left";
- InjectedTextCursorStops3[InjectedTextCursorStops3["None"] = 3] = "None";
- })(InjectedTextCursorStops || (InjectedTextCursorStops = {}));
- var InlayHintKind2;
- (function(InlayHintKind3) {
- InlayHintKind3[InlayHintKind3["Type"] = 1] = "Type";
- InlayHintKind3[InlayHintKind3["Parameter"] = 2] = "Parameter";
- })(InlayHintKind2 || (InlayHintKind2 = {}));
- var InlineCompletionTriggerKind2;
- (function(InlineCompletionTriggerKind3) {
- InlineCompletionTriggerKind3[InlineCompletionTriggerKind3["Automatic"] = 0] = "Automatic";
- InlineCompletionTriggerKind3[InlineCompletionTriggerKind3["Explicit"] = 1] = "Explicit";
- })(InlineCompletionTriggerKind2 || (InlineCompletionTriggerKind2 = {}));
- var KeyCode;
- (function(KeyCode2) {
- KeyCode2[KeyCode2["DependsOnKbLayout"] = -1] = "DependsOnKbLayout";
- KeyCode2[KeyCode2["Unknown"] = 0] = "Unknown";
- KeyCode2[KeyCode2["Backspace"] = 1] = "Backspace";
- KeyCode2[KeyCode2["Tab"] = 2] = "Tab";
- KeyCode2[KeyCode2["Enter"] = 3] = "Enter";
- KeyCode2[KeyCode2["Shift"] = 4] = "Shift";
- KeyCode2[KeyCode2["Ctrl"] = 5] = "Ctrl";
- KeyCode2[KeyCode2["Alt"] = 6] = "Alt";
- KeyCode2[KeyCode2["PauseBreak"] = 7] = "PauseBreak";
- KeyCode2[KeyCode2["CapsLock"] = 8] = "CapsLock";
- KeyCode2[KeyCode2["Escape"] = 9] = "Escape";
- KeyCode2[KeyCode2["Space"] = 10] = "Space";
- KeyCode2[KeyCode2["PageUp"] = 11] = "PageUp";
- KeyCode2[KeyCode2["PageDown"] = 12] = "PageDown";
- KeyCode2[KeyCode2["End"] = 13] = "End";
- KeyCode2[KeyCode2["Home"] = 14] = "Home";
- KeyCode2[KeyCode2["LeftArrow"] = 15] = "LeftArrow";
- KeyCode2[KeyCode2["UpArrow"] = 16] = "UpArrow";
- KeyCode2[KeyCode2["RightArrow"] = 17] = "RightArrow";
- KeyCode2[KeyCode2["DownArrow"] = 18] = "DownArrow";
- KeyCode2[KeyCode2["Insert"] = 19] = "Insert";
- KeyCode2[KeyCode2["Delete"] = 20] = "Delete";
- KeyCode2[KeyCode2["Digit0"] = 21] = "Digit0";
- KeyCode2[KeyCode2["Digit1"] = 22] = "Digit1";
- KeyCode2[KeyCode2["Digit2"] = 23] = "Digit2";
- KeyCode2[KeyCode2["Digit3"] = 24] = "Digit3";
- KeyCode2[KeyCode2["Digit4"] = 25] = "Digit4";
- KeyCode2[KeyCode2["Digit5"] = 26] = "Digit5";
- KeyCode2[KeyCode2["Digit6"] = 27] = "Digit6";
- KeyCode2[KeyCode2["Digit7"] = 28] = "Digit7";
- KeyCode2[KeyCode2["Digit8"] = 29] = "Digit8";
- KeyCode2[KeyCode2["Digit9"] = 30] = "Digit9";
- KeyCode2[KeyCode2["KeyA"] = 31] = "KeyA";
- KeyCode2[KeyCode2["KeyB"] = 32] = "KeyB";
- KeyCode2[KeyCode2["KeyC"] = 33] = "KeyC";
- KeyCode2[KeyCode2["KeyD"] = 34] = "KeyD";
- KeyCode2[KeyCode2["KeyE"] = 35] = "KeyE";
- KeyCode2[KeyCode2["KeyF"] = 36] = "KeyF";
- KeyCode2[KeyCode2["KeyG"] = 37] = "KeyG";
- KeyCode2[KeyCode2["KeyH"] = 38] = "KeyH";
- KeyCode2[KeyCode2["KeyI"] = 39] = "KeyI";
- KeyCode2[KeyCode2["KeyJ"] = 40] = "KeyJ";
- KeyCode2[KeyCode2["KeyK"] = 41] = "KeyK";
- KeyCode2[KeyCode2["KeyL"] = 42] = "KeyL";
- KeyCode2[KeyCode2["KeyM"] = 43] = "KeyM";
- KeyCode2[KeyCode2["KeyN"] = 44] = "KeyN";
- KeyCode2[KeyCode2["KeyO"] = 45] = "KeyO";
- KeyCode2[KeyCode2["KeyP"] = 46] = "KeyP";
- KeyCode2[KeyCode2["KeyQ"] = 47] = "KeyQ";
- KeyCode2[KeyCode2["KeyR"] = 48] = "KeyR";
- KeyCode2[KeyCode2["KeyS"] = 49] = "KeyS";
- KeyCode2[KeyCode2["KeyT"] = 50] = "KeyT";
- KeyCode2[KeyCode2["KeyU"] = 51] = "KeyU";
- KeyCode2[KeyCode2["KeyV"] = 52] = "KeyV";
- KeyCode2[KeyCode2["KeyW"] = 53] = "KeyW";
- KeyCode2[KeyCode2["KeyX"] = 54] = "KeyX";
- KeyCode2[KeyCode2["KeyY"] = 55] = "KeyY";
- KeyCode2[KeyCode2["KeyZ"] = 56] = "KeyZ";
- KeyCode2[KeyCode2["Meta"] = 57] = "Meta";
- KeyCode2[KeyCode2["ContextMenu"] = 58] = "ContextMenu";
- KeyCode2[KeyCode2["F1"] = 59] = "F1";
- KeyCode2[KeyCode2["F2"] = 60] = "F2";
- KeyCode2[KeyCode2["F3"] = 61] = "F3";
- KeyCode2[KeyCode2["F4"] = 62] = "F4";
- KeyCode2[KeyCode2["F5"] = 63] = "F5";
- KeyCode2[KeyCode2["F6"] = 64] = "F6";
- KeyCode2[KeyCode2["F7"] = 65] = "F7";
- KeyCode2[KeyCode2["F8"] = 66] = "F8";
- KeyCode2[KeyCode2["F9"] = 67] = "F9";
- KeyCode2[KeyCode2["F10"] = 68] = "F10";
- KeyCode2[KeyCode2["F11"] = 69] = "F11";
- KeyCode2[KeyCode2["F12"] = 70] = "F12";
- KeyCode2[KeyCode2["F13"] = 71] = "F13";
- KeyCode2[KeyCode2["F14"] = 72] = "F14";
- KeyCode2[KeyCode2["F15"] = 73] = "F15";
- KeyCode2[KeyCode2["F16"] = 74] = "F16";
- KeyCode2[KeyCode2["F17"] = 75] = "F17";
- KeyCode2[KeyCode2["F18"] = 76] = "F18";
- KeyCode2[KeyCode2["F19"] = 77] = "F19";
- KeyCode2[KeyCode2["F20"] = 78] = "F20";
- KeyCode2[KeyCode2["F21"] = 79] = "F21";
- KeyCode2[KeyCode2["F22"] = 80] = "F22";
- KeyCode2[KeyCode2["F23"] = 81] = "F23";
- KeyCode2[KeyCode2["F24"] = 82] = "F24";
- KeyCode2[KeyCode2["NumLock"] = 83] = "NumLock";
- KeyCode2[KeyCode2["ScrollLock"] = 84] = "ScrollLock";
- KeyCode2[KeyCode2["Semicolon"] = 85] = "Semicolon";
- KeyCode2[KeyCode2["Equal"] = 86] = "Equal";
- KeyCode2[KeyCode2["Comma"] = 87] = "Comma";
- KeyCode2[KeyCode2["Minus"] = 88] = "Minus";
- KeyCode2[KeyCode2["Period"] = 89] = "Period";
- KeyCode2[KeyCode2["Slash"] = 90] = "Slash";
- KeyCode2[KeyCode2["Backquote"] = 91] = "Backquote";
- KeyCode2[KeyCode2["BracketLeft"] = 92] = "BracketLeft";
- KeyCode2[KeyCode2["Backslash"] = 93] = "Backslash";
- KeyCode2[KeyCode2["BracketRight"] = 94] = "BracketRight";
- KeyCode2[KeyCode2["Quote"] = 95] = "Quote";
- KeyCode2[KeyCode2["OEM_8"] = 96] = "OEM_8";
- KeyCode2[KeyCode2["IntlBackslash"] = 97] = "IntlBackslash";
- KeyCode2[KeyCode2["Numpad0"] = 98] = "Numpad0";
- KeyCode2[KeyCode2["Numpad1"] = 99] = "Numpad1";
- KeyCode2[KeyCode2["Numpad2"] = 100] = "Numpad2";
- KeyCode2[KeyCode2["Numpad3"] = 101] = "Numpad3";
- KeyCode2[KeyCode2["Numpad4"] = 102] = "Numpad4";
- KeyCode2[KeyCode2["Numpad5"] = 103] = "Numpad5";
- KeyCode2[KeyCode2["Numpad6"] = 104] = "Numpad6";
- KeyCode2[KeyCode2["Numpad7"] = 105] = "Numpad7";
- KeyCode2[KeyCode2["Numpad8"] = 106] = "Numpad8";
- KeyCode2[KeyCode2["Numpad9"] = 107] = "Numpad9";
- KeyCode2[KeyCode2["NumpadMultiply"] = 108] = "NumpadMultiply";
- KeyCode2[KeyCode2["NumpadAdd"] = 109] = "NumpadAdd";
- KeyCode2[KeyCode2["NUMPAD_SEPARATOR"] = 110] = "NUMPAD_SEPARATOR";
- KeyCode2[KeyCode2["NumpadSubtract"] = 111] = "NumpadSubtract";
- KeyCode2[KeyCode2["NumpadDecimal"] = 112] = "NumpadDecimal";
- KeyCode2[KeyCode2["NumpadDivide"] = 113] = "NumpadDivide";
- KeyCode2[KeyCode2["KEY_IN_COMPOSITION"] = 114] = "KEY_IN_COMPOSITION";
- KeyCode2[KeyCode2["ABNT_C1"] = 115] = "ABNT_C1";
- KeyCode2[KeyCode2["ABNT_C2"] = 116] = "ABNT_C2";
- KeyCode2[KeyCode2["AudioVolumeMute"] = 117] = "AudioVolumeMute";
- KeyCode2[KeyCode2["AudioVolumeUp"] = 118] = "AudioVolumeUp";
- KeyCode2[KeyCode2["AudioVolumeDown"] = 119] = "AudioVolumeDown";
- KeyCode2[KeyCode2["BrowserSearch"] = 120] = "BrowserSearch";
- KeyCode2[KeyCode2["BrowserHome"] = 121] = "BrowserHome";
- KeyCode2[KeyCode2["BrowserBack"] = 122] = "BrowserBack";
- KeyCode2[KeyCode2["BrowserForward"] = 123] = "BrowserForward";
- KeyCode2[KeyCode2["MediaTrackNext"] = 124] = "MediaTrackNext";
- KeyCode2[KeyCode2["MediaTrackPrevious"] = 125] = "MediaTrackPrevious";
- KeyCode2[KeyCode2["MediaStop"] = 126] = "MediaStop";
- KeyCode2[KeyCode2["MediaPlayPause"] = 127] = "MediaPlayPause";
- KeyCode2[KeyCode2["LaunchMediaPlayer"] = 128] = "LaunchMediaPlayer";
- KeyCode2[KeyCode2["LaunchMail"] = 129] = "LaunchMail";
- KeyCode2[KeyCode2["LaunchApp2"] = 130] = "LaunchApp2";
- KeyCode2[KeyCode2["Clear"] = 131] = "Clear";
- KeyCode2[KeyCode2["MAX_VALUE"] = 132] = "MAX_VALUE";
- })(KeyCode || (KeyCode = {}));
- var MarkerSeverity;
- (function(MarkerSeverity2) {
- MarkerSeverity2[MarkerSeverity2["Hint"] = 1] = "Hint";
- MarkerSeverity2[MarkerSeverity2["Info"] = 2] = "Info";
- MarkerSeverity2[MarkerSeverity2["Warning"] = 4] = "Warning";
- MarkerSeverity2[MarkerSeverity2["Error"] = 8] = "Error";
- })(MarkerSeverity || (MarkerSeverity = {}));
- var MarkerTag;
- (function(MarkerTag2) {
- MarkerTag2[MarkerTag2["Unnecessary"] = 1] = "Unnecessary";
- MarkerTag2[MarkerTag2["Deprecated"] = 2] = "Deprecated";
- })(MarkerTag || (MarkerTag = {}));
- var MinimapPosition;
- (function(MinimapPosition3) {
- MinimapPosition3[MinimapPosition3["Inline"] = 1] = "Inline";
- MinimapPosition3[MinimapPosition3["Gutter"] = 2] = "Gutter";
- })(MinimapPosition || (MinimapPosition = {}));
- var MouseTargetType;
- (function(MouseTargetType2) {
- MouseTargetType2[MouseTargetType2["UNKNOWN"] = 0] = "UNKNOWN";
- MouseTargetType2[MouseTargetType2["TEXTAREA"] = 1] = "TEXTAREA";
- MouseTargetType2[MouseTargetType2["GUTTER_GLYPH_MARGIN"] = 2] = "GUTTER_GLYPH_MARGIN";
- MouseTargetType2[MouseTargetType2["GUTTER_LINE_NUMBERS"] = 3] = "GUTTER_LINE_NUMBERS";
- MouseTargetType2[MouseTargetType2["GUTTER_LINE_DECORATIONS"] = 4] = "GUTTER_LINE_DECORATIONS";
- MouseTargetType2[MouseTargetType2["GUTTER_VIEW_ZONE"] = 5] = "GUTTER_VIEW_ZONE";
- MouseTargetType2[MouseTargetType2["CONTENT_TEXT"] = 6] = "CONTENT_TEXT";
- MouseTargetType2[MouseTargetType2["CONTENT_EMPTY"] = 7] = "CONTENT_EMPTY";
- MouseTargetType2[MouseTargetType2["CONTENT_VIEW_ZONE"] = 8] = "CONTENT_VIEW_ZONE";
- MouseTargetType2[MouseTargetType2["CONTENT_WIDGET"] = 9] = "CONTENT_WIDGET";
- MouseTargetType2[MouseTargetType2["OVERVIEW_RULER"] = 10] = "OVERVIEW_RULER";
- MouseTargetType2[MouseTargetType2["SCROLLBAR"] = 11] = "SCROLLBAR";
- MouseTargetType2[MouseTargetType2["OVERLAY_WIDGET"] = 12] = "OVERLAY_WIDGET";
- MouseTargetType2[MouseTargetType2["OUTSIDE_EDITOR"] = 13] = "OUTSIDE_EDITOR";
- })(MouseTargetType || (MouseTargetType = {}));
- var OverlayWidgetPositionPreference;
- (function(OverlayWidgetPositionPreference2) {
- OverlayWidgetPositionPreference2[OverlayWidgetPositionPreference2["TOP_RIGHT_CORNER"] = 0] = "TOP_RIGHT_CORNER";
- OverlayWidgetPositionPreference2[OverlayWidgetPositionPreference2["BOTTOM_RIGHT_CORNER"] = 1] = "BOTTOM_RIGHT_CORNER";
- OverlayWidgetPositionPreference2[OverlayWidgetPositionPreference2["TOP_CENTER"] = 2] = "TOP_CENTER";
- })(OverlayWidgetPositionPreference || (OverlayWidgetPositionPreference = {}));
- var OverviewRulerLane;
- (function(OverviewRulerLane3) {
- OverviewRulerLane3[OverviewRulerLane3["Left"] = 1] = "Left";
- OverviewRulerLane3[OverviewRulerLane3["Center"] = 2] = "Center";
- OverviewRulerLane3[OverviewRulerLane3["Right"] = 4] = "Right";
- OverviewRulerLane3[OverviewRulerLane3["Full"] = 7] = "Full";
- })(OverviewRulerLane || (OverviewRulerLane = {}));
- var PositionAffinity;
- (function(PositionAffinity2) {
- PositionAffinity2[PositionAffinity2["Left"] = 0] = "Left";
- PositionAffinity2[PositionAffinity2["Right"] = 1] = "Right";
- PositionAffinity2[PositionAffinity2["None"] = 2] = "None";
- PositionAffinity2[PositionAffinity2["LeftOfInjectedText"] = 3] = "LeftOfInjectedText";
- PositionAffinity2[PositionAffinity2["RightOfInjectedText"] = 4] = "RightOfInjectedText";
- })(PositionAffinity || (PositionAffinity = {}));
- var RenderLineNumbersType;
- (function(RenderLineNumbersType2) {
- RenderLineNumbersType2[RenderLineNumbersType2["Off"] = 0] = "Off";
- RenderLineNumbersType2[RenderLineNumbersType2["On"] = 1] = "On";
- RenderLineNumbersType2[RenderLineNumbersType2["Relative"] = 2] = "Relative";
- RenderLineNumbersType2[RenderLineNumbersType2["Interval"] = 3] = "Interval";
- RenderLineNumbersType2[RenderLineNumbersType2["Custom"] = 4] = "Custom";
- })(RenderLineNumbersType || (RenderLineNumbersType = {}));
- var RenderMinimap;
- (function(RenderMinimap2) {
- RenderMinimap2[RenderMinimap2["None"] = 0] = "None";
- RenderMinimap2[RenderMinimap2["Text"] = 1] = "Text";
- RenderMinimap2[RenderMinimap2["Blocks"] = 2] = "Blocks";
- })(RenderMinimap || (RenderMinimap = {}));
- var ScrollType;
- (function(ScrollType2) {
- ScrollType2[ScrollType2["Smooth"] = 0] = "Smooth";
- ScrollType2[ScrollType2["Immediate"] = 1] = "Immediate";
- })(ScrollType || (ScrollType = {}));
- var ScrollbarVisibility;
- (function(ScrollbarVisibility2) {
- ScrollbarVisibility2[ScrollbarVisibility2["Auto"] = 1] = "Auto";
- ScrollbarVisibility2[ScrollbarVisibility2["Hidden"] = 2] = "Hidden";
- ScrollbarVisibility2[ScrollbarVisibility2["Visible"] = 3] = "Visible";
- })(ScrollbarVisibility || (ScrollbarVisibility = {}));
- var SelectionDirection;
- (function(SelectionDirection2) {
- SelectionDirection2[SelectionDirection2["LTR"] = 0] = "LTR";
- SelectionDirection2[SelectionDirection2["RTL"] = 1] = "RTL";
- })(SelectionDirection || (SelectionDirection = {}));
- var SignatureHelpTriggerKind2;
- (function(SignatureHelpTriggerKind3) {
- SignatureHelpTriggerKind3[SignatureHelpTriggerKind3["Invoke"] = 1] = "Invoke";
- SignatureHelpTriggerKind3[SignatureHelpTriggerKind3["TriggerCharacter"] = 2] = "TriggerCharacter";
- SignatureHelpTriggerKind3[SignatureHelpTriggerKind3["ContentChange"] = 3] = "ContentChange";
- })(SignatureHelpTriggerKind2 || (SignatureHelpTriggerKind2 = {}));
- var SymbolKind;
- (function(SymbolKind2) {
- SymbolKind2[SymbolKind2["File"] = 0] = "File";
- SymbolKind2[SymbolKind2["Module"] = 1] = "Module";
- SymbolKind2[SymbolKind2["Namespace"] = 2] = "Namespace";
- SymbolKind2[SymbolKind2["Package"] = 3] = "Package";
- SymbolKind2[SymbolKind2["Class"] = 4] = "Class";
- SymbolKind2[SymbolKind2["Method"] = 5] = "Method";
- SymbolKind2[SymbolKind2["Property"] = 6] = "Property";
- SymbolKind2[SymbolKind2["Field"] = 7] = "Field";
- SymbolKind2[SymbolKind2["Constructor"] = 8] = "Constructor";
- SymbolKind2[SymbolKind2["Enum"] = 9] = "Enum";
- SymbolKind2[SymbolKind2["Interface"] = 10] = "Interface";
- SymbolKind2[SymbolKind2["Function"] = 11] = "Function";
- SymbolKind2[SymbolKind2["Variable"] = 12] = "Variable";
- SymbolKind2[SymbolKind2["Constant"] = 13] = "Constant";
- SymbolKind2[SymbolKind2["String"] = 14] = "String";
- SymbolKind2[SymbolKind2["Number"] = 15] = "Number";
- SymbolKind2[SymbolKind2["Boolean"] = 16] = "Boolean";
- SymbolKind2[SymbolKind2["Array"] = 17] = "Array";
- SymbolKind2[SymbolKind2["Object"] = 18] = "Object";
- SymbolKind2[SymbolKind2["Key"] = 19] = "Key";
- SymbolKind2[SymbolKind2["Null"] = 20] = "Null";
- SymbolKind2[SymbolKind2["EnumMember"] = 21] = "EnumMember";
- SymbolKind2[SymbolKind2["Struct"] = 22] = "Struct";
- SymbolKind2[SymbolKind2["Event"] = 23] = "Event";
- SymbolKind2[SymbolKind2["Operator"] = 24] = "Operator";
- SymbolKind2[SymbolKind2["TypeParameter"] = 25] = "TypeParameter";
- })(SymbolKind || (SymbolKind = {}));
- var SymbolTag;
- (function(SymbolTag2) {
- SymbolTag2[SymbolTag2["Deprecated"] = 1] = "Deprecated";
- })(SymbolTag || (SymbolTag = {}));
- var TextEditorCursorBlinkingStyle;
- (function(TextEditorCursorBlinkingStyle2) {
- TextEditorCursorBlinkingStyle2[TextEditorCursorBlinkingStyle2["Hidden"] = 0] = "Hidden";
- TextEditorCursorBlinkingStyle2[TextEditorCursorBlinkingStyle2["Blink"] = 1] = "Blink";
- TextEditorCursorBlinkingStyle2[TextEditorCursorBlinkingStyle2["Smooth"] = 2] = "Smooth";
- TextEditorCursorBlinkingStyle2[TextEditorCursorBlinkingStyle2["Phase"] = 3] = "Phase";
- TextEditorCursorBlinkingStyle2[TextEditorCursorBlinkingStyle2["Expand"] = 4] = "Expand";
- TextEditorCursorBlinkingStyle2[TextEditorCursorBlinkingStyle2["Solid"] = 5] = "Solid";
- })(TextEditorCursorBlinkingStyle || (TextEditorCursorBlinkingStyle = {}));
- var TextEditorCursorStyle;
- (function(TextEditorCursorStyle2) {
- TextEditorCursorStyle2[TextEditorCursorStyle2["Line"] = 1] = "Line";
- TextEditorCursorStyle2[TextEditorCursorStyle2["Block"] = 2] = "Block";
- TextEditorCursorStyle2[TextEditorCursorStyle2["Underline"] = 3] = "Underline";
- TextEditorCursorStyle2[TextEditorCursorStyle2["LineThin"] = 4] = "LineThin";
- TextEditorCursorStyle2[TextEditorCursorStyle2["BlockOutline"] = 5] = "BlockOutline";
- TextEditorCursorStyle2[TextEditorCursorStyle2["UnderlineThin"] = 6] = "UnderlineThin";
- })(TextEditorCursorStyle || (TextEditorCursorStyle = {}));
- var TrackedRangeStickiness;
- (function(TrackedRangeStickiness2) {
- TrackedRangeStickiness2[TrackedRangeStickiness2["AlwaysGrowsWhenTypingAtEdges"] = 0] = "AlwaysGrowsWhenTypingAtEdges";
- TrackedRangeStickiness2[TrackedRangeStickiness2["NeverGrowsWhenTypingAtEdges"] = 1] = "NeverGrowsWhenTypingAtEdges";
- TrackedRangeStickiness2[TrackedRangeStickiness2["GrowsOnlyWhenTypingBefore"] = 2] = "GrowsOnlyWhenTypingBefore";
- TrackedRangeStickiness2[TrackedRangeStickiness2["GrowsOnlyWhenTypingAfter"] = 3] = "GrowsOnlyWhenTypingAfter";
- })(TrackedRangeStickiness || (TrackedRangeStickiness = {}));
- var WrappingIndent;
- (function(WrappingIndent2) {
- WrappingIndent2[WrappingIndent2["None"] = 0] = "None";
- WrappingIndent2[WrappingIndent2["Same"] = 1] = "Same";
- WrappingIndent2[WrappingIndent2["Indent"] = 2] = "Indent";
- WrappingIndent2[WrappingIndent2["DeepIndent"] = 3] = "DeepIndent";
- })(WrappingIndent || (WrappingIndent = {}));
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/editor/common/services/editorBaseApi.js
- var KeyMod = class {
- static chord(firstPart, secondPart) {
- return KeyChord(firstPart, secondPart);
- }
- };
- KeyMod.CtrlCmd = 2048;
- KeyMod.Shift = 1024;
- KeyMod.Alt = 512;
- KeyMod.WinCtrl = 256;
- function createMonacoBaseAPI() {
- return {
- editor: void 0,
- languages: void 0,
- CancellationTokenSource,
- Emitter,
- KeyCode,
- KeyMod,
- Position,
- Range,
- Selection,
- SelectionDirection,
- MarkerSeverity,
- MarkerTag,
- Uri: URI,
- Token
- };
- }
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/editor/common/services/editorSimpleWorker.js
- init_stopwatch();
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/editor/common/services/unicodeTextModelHighlighter.js
- init_range();
- init_textModelSearch();
- init_strings();
- init_assert();
- init_wordHelper();
- var UnicodeTextModelHighlighter = class {
- static computeUnicodeHighlights(model, options, range2) {
- const startLine = range2 ? range2.startLineNumber : 1;
- const endLine = range2 ? range2.endLineNumber : model.getLineCount();
- const codePointHighlighter = new CodePointHighlighter(options);
- const candidates = codePointHighlighter.getCandidateCodePoints();
- let regex;
- if (candidates === "allNonBasicAscii") {
- regex = new RegExp("[^\\t\\n\\r\\x20-\\x7E]", "g");
- } else {
- regex = new RegExp(`${buildRegExpCharClassExpr(Array.from(candidates))}`, "g");
- }
- const searcher = new Searcher(null, regex);
- const ranges = [];
- let hasMore = false;
- let m;
- let ambiguousCharacterCount = 0;
- let invisibleCharacterCount = 0;
- let nonBasicAsciiCharacterCount = 0;
- forLoop:
- for (let lineNumber = startLine, lineCount = endLine; lineNumber <= lineCount; lineNumber++) {
- const lineContent = model.getLineContent(lineNumber);
- const lineLength = lineContent.length;
- searcher.reset(0);
- do {
- m = searcher.next(lineContent);
- if (m) {
- let startIndex = m.index;
- let endIndex = m.index + m[0].length;
- if (startIndex > 0) {
- const charCodeBefore = lineContent.charCodeAt(startIndex - 1);
- if (isHighSurrogate(charCodeBefore)) {
- startIndex--;
- }
- }
- if (endIndex + 1 < lineLength) {
- const charCodeBefore = lineContent.charCodeAt(endIndex - 1);
- if (isHighSurrogate(charCodeBefore)) {
- endIndex++;
- }
- }
- const str = lineContent.substring(startIndex, endIndex);
- let word = getWordAtText(startIndex + 1, DEFAULT_WORD_REGEXP, lineContent, 0);
- if (word && word.endColumn <= startIndex + 1) {
- word = null;
- }
- const highlightReason = codePointHighlighter.shouldHighlightNonBasicASCII(str, word ? word.word : null);
- if (highlightReason !== 0) {
- if (highlightReason === 3) {
- ambiguousCharacterCount++;
- } else if (highlightReason === 2) {
- invisibleCharacterCount++;
- } else if (highlightReason === 1) {
- nonBasicAsciiCharacterCount++;
- } else {
- assertNever(highlightReason);
- }
- const MAX_RESULT_LENGTH = 1e3;
- if (ranges.length >= MAX_RESULT_LENGTH) {
- hasMore = true;
- break forLoop;
- }
- ranges.push(new Range(lineNumber, startIndex + 1, lineNumber, endIndex + 1));
- }
- }
- } while (m);
- }
- return {
- ranges,
- hasMore,
- ambiguousCharacterCount,
- invisibleCharacterCount,
- nonBasicAsciiCharacterCount
- };
- }
- static computeUnicodeHighlightReason(char, options) {
- const codePointHighlighter = new CodePointHighlighter(options);
- const reason = codePointHighlighter.shouldHighlightNonBasicASCII(char, null);
- switch (reason) {
- case 0:
- return null;
- case 2:
- return {
- kind: 1
- /* UnicodeHighlighterReasonKind.Invisible */
- };
- case 3: {
- const codePoint = char.codePointAt(0);
- const primaryConfusable = codePointHighlighter.ambiguousCharacters.getPrimaryConfusable(codePoint);
- const notAmbiguousInLocales = AmbiguousCharacters.getLocales().filter((l) => !AmbiguousCharacters.getInstance(/* @__PURE__ */ new Set([...options.allowedLocales, l])).isAmbiguous(codePoint));
- return { kind: 0, confusableWith: String.fromCodePoint(primaryConfusable), notAmbiguousInLocales };
- }
- case 1:
- return {
- kind: 2
- /* UnicodeHighlighterReasonKind.NonBasicAscii */
- };
- }
- }
- };
- function buildRegExpCharClassExpr(codePoints, flags) {
- const src = `[${escapeRegExpCharacters(codePoints.map((i) => String.fromCodePoint(i)).join(""))}]`;
- return src;
- }
- var CodePointHighlighter = class {
- constructor(options) {
- this.options = options;
- this.allowedCodePoints = new Set(options.allowedCodePoints);
- this.ambiguousCharacters = AmbiguousCharacters.getInstance(new Set(options.allowedLocales));
- }
- getCandidateCodePoints() {
- if (this.options.nonBasicASCII) {
- return "allNonBasicAscii";
- }
- const set = /* @__PURE__ */ new Set();
- if (this.options.invisibleCharacters) {
- for (const cp of InvisibleCharacters.codePoints) {
- if (!isAllowedInvisibleCharacter(String.fromCodePoint(cp))) {
- set.add(cp);
- }
- }
- }
- if (this.options.ambiguousCharacters) {
- for (const cp of this.ambiguousCharacters.getConfusableCodePoints()) {
- set.add(cp);
- }
- }
- for (const cp of this.allowedCodePoints) {
- set.delete(cp);
- }
- return set;
- }
- shouldHighlightNonBasicASCII(character, wordContext) {
- const codePoint = character.codePointAt(0);
- if (this.allowedCodePoints.has(codePoint)) {
- return 0;
- }
- if (this.options.nonBasicASCII) {
- return 1;
- }
- let hasBasicASCIICharacters = false;
- let hasNonConfusableNonBasicAsciiCharacter = false;
- if (wordContext) {
- for (const char of wordContext) {
- const codePoint2 = char.codePointAt(0);
- const isBasicASCII2 = isBasicASCII(char);
- hasBasicASCIICharacters = hasBasicASCIICharacters || isBasicASCII2;
- if (!isBasicASCII2 && !this.ambiguousCharacters.isAmbiguous(codePoint2) && !InvisibleCharacters.isInvisibleCharacter(codePoint2)) {
- hasNonConfusableNonBasicAsciiCharacter = true;
- }
- }
- }
- if (
- /* Don't allow mixing weird looking characters with ASCII */
- !hasBasicASCIICharacters && /* Is there an obviously weird looking character? */
- hasNonConfusableNonBasicAsciiCharacter
- ) {
- return 0;
- }
- if (this.options.invisibleCharacters) {
- if (!isAllowedInvisibleCharacter(character) && InvisibleCharacters.isInvisibleCharacter(codePoint)) {
- return 2;
- }
- }
- if (this.options.ambiguousCharacters) {
- if (this.ambiguousCharacters.isAmbiguous(codePoint)) {
- return 3;
- }
- }
- return 0;
- }
- };
- function isAllowedInvisibleCharacter(character) {
- return character === " " || character === "\n" || character === " ";
- }
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/editor/common/diff/linesDiffComputer.js
- var LinesDiff = class {
- constructor(changes, hitTimeout) {
- this.changes = changes;
- this.hitTimeout = hitTimeout;
- }
- };
- var LineRangeMapping = class {
- constructor(originalRange, modifiedRange, innerChanges) {
- this.originalRange = originalRange;
- this.modifiedRange = modifiedRange;
- this.innerChanges = innerChanges;
- }
- toString() {
- return `{${this.originalRange.toString()}->${this.modifiedRange.toString()}}`;
- }
- get changedLineCount() {
- return Math.max(this.originalRange.length, this.modifiedRange.length);
- }
- };
- var RangeMapping = class {
- constructor(originalRange, modifiedRange) {
- this.originalRange = originalRange;
- this.modifiedRange = modifiedRange;
- }
- toString() {
- return `{${this.originalRange.toString()}->${this.modifiedRange.toString()}}`;
- }
- };
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/editor/common/diff/smartLinesDiffComputer.js
- init_strings();
- init_range();
- init_assert();
- init_lineRange();
- var MINIMUM_MATCHING_CHARACTER_LENGTH = 3;
- var SmartLinesDiffComputer = class {
- computeDiff(originalLines, modifiedLines, options) {
- var _a3;
- const diffComputer = new DiffComputer(originalLines, modifiedLines, {
- maxComputationTime: options.maxComputationTimeMs,
- shouldIgnoreTrimWhitespace: options.ignoreTrimWhitespace,
- shouldComputeCharChanges: true,
- shouldMakePrettyDiff: true,
- shouldPostProcessCharChanges: true
- });
- const result = diffComputer.computeDiff();
- const changes = [];
- let lastChange = null;
- for (const c of result.changes) {
- let originalRange;
- if (c.originalEndLineNumber === 0) {
- originalRange = new LineRange(c.originalStartLineNumber + 1, c.originalStartLineNumber + 1);
- } else {
- originalRange = new LineRange(c.originalStartLineNumber, c.originalEndLineNumber + 1);
- }
- let modifiedRange;
- if (c.modifiedEndLineNumber === 0) {
- modifiedRange = new LineRange(c.modifiedStartLineNumber + 1, c.modifiedStartLineNumber + 1);
- } else {
- modifiedRange = new LineRange(c.modifiedStartLineNumber, c.modifiedEndLineNumber + 1);
- }
- let change = new LineRangeMapping(originalRange, modifiedRange, (_a3 = c.charChanges) === null || _a3 === void 0 ? void 0 : _a3.map((c2) => new RangeMapping(new Range(c2.originalStartLineNumber, c2.originalStartColumn, c2.originalEndLineNumber, c2.originalEndColumn), new Range(c2.modifiedStartLineNumber, c2.modifiedStartColumn, c2.modifiedEndLineNumber, c2.modifiedEndColumn))));
- if (lastChange) {
- if (lastChange.modifiedRange.endLineNumberExclusive === change.modifiedRange.startLineNumber || lastChange.originalRange.endLineNumberExclusive === change.originalRange.startLineNumber) {
- change = new LineRangeMapping(lastChange.originalRange.join(change.originalRange), lastChange.modifiedRange.join(change.modifiedRange), lastChange.innerChanges && change.innerChanges ? lastChange.innerChanges.concat(change.innerChanges) : void 0);
- changes.pop();
- }
- }
- changes.push(change);
- lastChange = change;
- }
- assertFn(() => {
- return checkAdjacentItems(changes, (m1, m2) => m2.originalRange.startLineNumber - m1.originalRange.endLineNumberExclusive === m2.modifiedRange.startLineNumber - m1.modifiedRange.endLineNumberExclusive && // There has to be an unchanged line in between (otherwise both diffs should have been joined)
- m1.originalRange.endLineNumberExclusive < m2.originalRange.startLineNumber && m1.modifiedRange.endLineNumberExclusive < m2.modifiedRange.startLineNumber);
- });
- return new LinesDiff(changes, result.quitEarly);
- }
- };
- function computeDiff(originalSequence, modifiedSequence, continueProcessingPredicate, pretty) {
- const diffAlgo = new LcsDiff(originalSequence, modifiedSequence, continueProcessingPredicate);
- return diffAlgo.ComputeDiff(pretty);
- }
- var LineSequence = class {
- constructor(lines) {
- const startColumns = [];
- const endColumns = [];
- for (let i = 0, length = lines.length; i < length; i++) {
- startColumns[i] = getFirstNonBlankColumn(lines[i], 1);
- endColumns[i] = getLastNonBlankColumn(lines[i], 1);
- }
- this.lines = lines;
- this._startColumns = startColumns;
- this._endColumns = endColumns;
- }
- getElements() {
- const elements = [];
- for (let i = 0, len = this.lines.length; i < len; i++) {
- elements[i] = this.lines[i].substring(this._startColumns[i] - 1, this._endColumns[i] - 1);
- }
- return elements;
- }
- getStrictElement(index) {
- return this.lines[index];
- }
- getStartLineNumber(i) {
- return i + 1;
- }
- getEndLineNumber(i) {
- return i + 1;
- }
- createCharSequence(shouldIgnoreTrimWhitespace, startIndex, endIndex) {
- const charCodes = [];
- const lineNumbers = [];
- const columns = [];
- let len = 0;
- for (let index = startIndex; index <= endIndex; index++) {
- const lineContent = this.lines[index];
- const startColumn = shouldIgnoreTrimWhitespace ? this._startColumns[index] : 1;
- const endColumn = shouldIgnoreTrimWhitespace ? this._endColumns[index] : lineContent.length + 1;
- for (let col = startColumn; col < endColumn; col++) {
- charCodes[len] = lineContent.charCodeAt(col - 1);
- lineNumbers[len] = index + 1;
- columns[len] = col;
- len++;
- }
- if (!shouldIgnoreTrimWhitespace && index < endIndex) {
- charCodes[len] = 10;
- lineNumbers[len] = index + 1;
- columns[len] = lineContent.length + 1;
- len++;
- }
- }
- return new CharSequence(charCodes, lineNumbers, columns);
- }
- };
- var CharSequence = class {
- constructor(charCodes, lineNumbers, columns) {
- this._charCodes = charCodes;
- this._lineNumbers = lineNumbers;
- this._columns = columns;
- }
- toString() {
- return "[" + this._charCodes.map((s, idx) => (s === 10 ? "\\n" : String.fromCharCode(s)) + `-(${this._lineNumbers[idx]},${this._columns[idx]})`).join(", ") + "]";
- }
- _assertIndex(index, arr) {
- if (index < 0 || index >= arr.length) {
- throw new Error(`Illegal index`);
- }
- }
- getElements() {
- return this._charCodes;
- }
- getStartLineNumber(i) {
- if (i > 0 && i === this._lineNumbers.length) {
- return this.getEndLineNumber(i - 1);
- }
- this._assertIndex(i, this._lineNumbers);
- return this._lineNumbers[i];
- }
- getEndLineNumber(i) {
- if (i === -1) {
- return this.getStartLineNumber(i + 1);
- }
- this._assertIndex(i, this._lineNumbers);
- if (this._charCodes[i] === 10) {
- return this._lineNumbers[i] + 1;
- }
- return this._lineNumbers[i];
- }
- getStartColumn(i) {
- if (i > 0 && i === this._columns.length) {
- return this.getEndColumn(i - 1);
- }
- this._assertIndex(i, this._columns);
- return this._columns[i];
- }
- getEndColumn(i) {
- if (i === -1) {
- return this.getStartColumn(i + 1);
- }
- this._assertIndex(i, this._columns);
- if (this._charCodes[i] === 10) {
- return 1;
- }
- return this._columns[i] + 1;
- }
- };
- var CharChange = class _CharChange {
- constructor(originalStartLineNumber, originalStartColumn, originalEndLineNumber, originalEndColumn, modifiedStartLineNumber, modifiedStartColumn, modifiedEndLineNumber, modifiedEndColumn) {
- this.originalStartLineNumber = originalStartLineNumber;
- this.originalStartColumn = originalStartColumn;
- this.originalEndLineNumber = originalEndLineNumber;
- this.originalEndColumn = originalEndColumn;
- this.modifiedStartLineNumber = modifiedStartLineNumber;
- this.modifiedStartColumn = modifiedStartColumn;
- this.modifiedEndLineNumber = modifiedEndLineNumber;
- this.modifiedEndColumn = modifiedEndColumn;
- }
- static createFromDiffChange(diffChange, originalCharSequence, modifiedCharSequence) {
- const originalStartLineNumber = originalCharSequence.getStartLineNumber(diffChange.originalStart);
- const originalStartColumn = originalCharSequence.getStartColumn(diffChange.originalStart);
- const originalEndLineNumber = originalCharSequence.getEndLineNumber(diffChange.originalStart + diffChange.originalLength - 1);
- const originalEndColumn = originalCharSequence.getEndColumn(diffChange.originalStart + diffChange.originalLength - 1);
- const modifiedStartLineNumber = modifiedCharSequence.getStartLineNumber(diffChange.modifiedStart);
- const modifiedStartColumn = modifiedCharSequence.getStartColumn(diffChange.modifiedStart);
- const modifiedEndLineNumber = modifiedCharSequence.getEndLineNumber(diffChange.modifiedStart + diffChange.modifiedLength - 1);
- const modifiedEndColumn = modifiedCharSequence.getEndColumn(diffChange.modifiedStart + diffChange.modifiedLength - 1);
- return new _CharChange(originalStartLineNumber, originalStartColumn, originalEndLineNumber, originalEndColumn, modifiedStartLineNumber, modifiedStartColumn, modifiedEndLineNumber, modifiedEndColumn);
- }
- };
- function postProcessCharChanges(rawChanges) {
- if (rawChanges.length <= 1) {
- return rawChanges;
- }
- const result = [rawChanges[0]];
- let prevChange = result[0];
- for (let i = 1, len = rawChanges.length; i < len; i++) {
- const currChange = rawChanges[i];
- const originalMatchingLength = currChange.originalStart - (prevChange.originalStart + prevChange.originalLength);
- const modifiedMatchingLength = currChange.modifiedStart - (prevChange.modifiedStart + prevChange.modifiedLength);
- const matchingLength = Math.min(originalMatchingLength, modifiedMatchingLength);
- if (matchingLength < MINIMUM_MATCHING_CHARACTER_LENGTH) {
- prevChange.originalLength = currChange.originalStart + currChange.originalLength - prevChange.originalStart;
- prevChange.modifiedLength = currChange.modifiedStart + currChange.modifiedLength - prevChange.modifiedStart;
- } else {
- result.push(currChange);
- prevChange = currChange;
- }
- }
- return result;
- }
- var LineChange = class _LineChange {
- constructor(originalStartLineNumber, originalEndLineNumber, modifiedStartLineNumber, modifiedEndLineNumber, charChanges) {
- this.originalStartLineNumber = originalStartLineNumber;
- this.originalEndLineNumber = originalEndLineNumber;
- this.modifiedStartLineNumber = modifiedStartLineNumber;
- this.modifiedEndLineNumber = modifiedEndLineNumber;
- this.charChanges = charChanges;
- }
- static createFromDiffResult(shouldIgnoreTrimWhitespace, diffChange, originalLineSequence, modifiedLineSequence, continueCharDiff, shouldComputeCharChanges, shouldPostProcessCharChanges) {
- let originalStartLineNumber;
- let originalEndLineNumber;
- let modifiedStartLineNumber;
- let modifiedEndLineNumber;
- let charChanges = void 0;
- if (diffChange.originalLength === 0) {
- originalStartLineNumber = originalLineSequence.getStartLineNumber(diffChange.originalStart) - 1;
- originalEndLineNumber = 0;
- } else {
- originalStartLineNumber = originalLineSequence.getStartLineNumber(diffChange.originalStart);
- originalEndLineNumber = originalLineSequence.getEndLineNumber(diffChange.originalStart + diffChange.originalLength - 1);
- }
- if (diffChange.modifiedLength === 0) {
- modifiedStartLineNumber = modifiedLineSequence.getStartLineNumber(diffChange.modifiedStart) - 1;
- modifiedEndLineNumber = 0;
- } else {
- modifiedStartLineNumber = modifiedLineSequence.getStartLineNumber(diffChange.modifiedStart);
- modifiedEndLineNumber = modifiedLineSequence.getEndLineNumber(diffChange.modifiedStart + diffChange.modifiedLength - 1);
- }
- if (shouldComputeCharChanges && diffChange.originalLength > 0 && diffChange.originalLength < 20 && diffChange.modifiedLength > 0 && diffChange.modifiedLength < 20 && continueCharDiff()) {
- const originalCharSequence = originalLineSequence.createCharSequence(shouldIgnoreTrimWhitespace, diffChange.originalStart, diffChange.originalStart + diffChange.originalLength - 1);
- const modifiedCharSequence = modifiedLineSequence.createCharSequence(shouldIgnoreTrimWhitespace, diffChange.modifiedStart, diffChange.modifiedStart + diffChange.modifiedLength - 1);
- if (originalCharSequence.getElements().length > 0 && modifiedCharSequence.getElements().length > 0) {
- let rawChanges = computeDiff(originalCharSequence, modifiedCharSequence, continueCharDiff, true).changes;
- if (shouldPostProcessCharChanges) {
- rawChanges = postProcessCharChanges(rawChanges);
- }
- charChanges = [];
- for (let i = 0, length = rawChanges.length; i < length; i++) {
- charChanges.push(CharChange.createFromDiffChange(rawChanges[i], originalCharSequence, modifiedCharSequence));
- }
- }
- }
- return new _LineChange(originalStartLineNumber, originalEndLineNumber, modifiedStartLineNumber, modifiedEndLineNumber, charChanges);
- }
- };
- var DiffComputer = class {
- constructor(originalLines, modifiedLines, opts) {
- this.shouldComputeCharChanges = opts.shouldComputeCharChanges;
- this.shouldPostProcessCharChanges = opts.shouldPostProcessCharChanges;
- this.shouldIgnoreTrimWhitespace = opts.shouldIgnoreTrimWhitespace;
- this.shouldMakePrettyDiff = opts.shouldMakePrettyDiff;
- this.originalLines = originalLines;
- this.modifiedLines = modifiedLines;
- this.original = new LineSequence(originalLines);
- this.modified = new LineSequence(modifiedLines);
- this.continueLineDiff = createContinueProcessingPredicate(opts.maxComputationTime);
- this.continueCharDiff = createContinueProcessingPredicate(opts.maxComputationTime === 0 ? 0 : Math.min(opts.maxComputationTime, 5e3));
- }
- computeDiff() {
- if (this.original.lines.length === 1 && this.original.lines[0].length === 0) {
- if (this.modified.lines.length === 1 && this.modified.lines[0].length === 0) {
- return {
- quitEarly: false,
- changes: []
- };
- }
- return {
- quitEarly: false,
- changes: [{
- originalStartLineNumber: 1,
- originalEndLineNumber: 1,
- modifiedStartLineNumber: 1,
- modifiedEndLineNumber: this.modified.lines.length,
- charChanges: void 0
- }]
- };
- }
- if (this.modified.lines.length === 1 && this.modified.lines[0].length === 0) {
- return {
- quitEarly: false,
- changes: [{
- originalStartLineNumber: 1,
- originalEndLineNumber: this.original.lines.length,
- modifiedStartLineNumber: 1,
- modifiedEndLineNumber: 1,
- charChanges: void 0
- }]
- };
- }
- const diffResult = computeDiff(this.original, this.modified, this.continueLineDiff, this.shouldMakePrettyDiff);
- const rawChanges = diffResult.changes;
- const quitEarly = diffResult.quitEarly;
- if (this.shouldIgnoreTrimWhitespace) {
- const lineChanges = [];
- for (let i = 0, length = rawChanges.length; i < length; i++) {
- lineChanges.push(LineChange.createFromDiffResult(this.shouldIgnoreTrimWhitespace, rawChanges[i], this.original, this.modified, this.continueCharDiff, this.shouldComputeCharChanges, this.shouldPostProcessCharChanges));
- }
- return {
- quitEarly,
- changes: lineChanges
- };
- }
- const result = [];
- let originalLineIndex = 0;
- let modifiedLineIndex = 0;
- for (let i = -1, len = rawChanges.length; i < len; i++) {
- const nextChange = i + 1 < len ? rawChanges[i + 1] : null;
- const originalStop = nextChange ? nextChange.originalStart : this.originalLines.length;
- const modifiedStop = nextChange ? nextChange.modifiedStart : this.modifiedLines.length;
- while (originalLineIndex < originalStop && modifiedLineIndex < modifiedStop) {
- const originalLine = this.originalLines[originalLineIndex];
- const modifiedLine = this.modifiedLines[modifiedLineIndex];
- if (originalLine !== modifiedLine) {
- {
- let originalStartColumn = getFirstNonBlankColumn(originalLine, 1);
- let modifiedStartColumn = getFirstNonBlankColumn(modifiedLine, 1);
- while (originalStartColumn > 1 && modifiedStartColumn > 1) {
- const originalChar = originalLine.charCodeAt(originalStartColumn - 2);
- const modifiedChar = modifiedLine.charCodeAt(modifiedStartColumn - 2);
- if (originalChar !== modifiedChar) {
- break;
- }
- originalStartColumn--;
- modifiedStartColumn--;
- }
- if (originalStartColumn > 1 || modifiedStartColumn > 1) {
- this._pushTrimWhitespaceCharChange(result, originalLineIndex + 1, 1, originalStartColumn, modifiedLineIndex + 1, 1, modifiedStartColumn);
- }
- }
- {
- let originalEndColumn = getLastNonBlankColumn(originalLine, 1);
- let modifiedEndColumn = getLastNonBlankColumn(modifiedLine, 1);
- const originalMaxColumn = originalLine.length + 1;
- const modifiedMaxColumn = modifiedLine.length + 1;
- while (originalEndColumn < originalMaxColumn && modifiedEndColumn < modifiedMaxColumn) {
- const originalChar = originalLine.charCodeAt(originalEndColumn - 1);
- const modifiedChar = originalLine.charCodeAt(modifiedEndColumn - 1);
- if (originalChar !== modifiedChar) {
- break;
- }
- originalEndColumn++;
- modifiedEndColumn++;
- }
- if (originalEndColumn < originalMaxColumn || modifiedEndColumn < modifiedMaxColumn) {
- this._pushTrimWhitespaceCharChange(result, originalLineIndex + 1, originalEndColumn, originalMaxColumn, modifiedLineIndex + 1, modifiedEndColumn, modifiedMaxColumn);
- }
- }
- }
- originalLineIndex++;
- modifiedLineIndex++;
- }
- if (nextChange) {
- result.push(LineChange.createFromDiffResult(this.shouldIgnoreTrimWhitespace, nextChange, this.original, this.modified, this.continueCharDiff, this.shouldComputeCharChanges, this.shouldPostProcessCharChanges));
- originalLineIndex += nextChange.originalLength;
- modifiedLineIndex += nextChange.modifiedLength;
- }
- }
- return {
- quitEarly,
- changes: result
- };
- }
- _pushTrimWhitespaceCharChange(result, originalLineNumber, originalStartColumn, originalEndColumn, modifiedLineNumber, modifiedStartColumn, modifiedEndColumn) {
- if (this._mergeTrimWhitespaceCharChange(result, originalLineNumber, originalStartColumn, originalEndColumn, modifiedLineNumber, modifiedStartColumn, modifiedEndColumn)) {
- return;
- }
- let charChanges = void 0;
- if (this.shouldComputeCharChanges) {
- charChanges = [new CharChange(originalLineNumber, originalStartColumn, originalLineNumber, originalEndColumn, modifiedLineNumber, modifiedStartColumn, modifiedLineNumber, modifiedEndColumn)];
- }
- result.push(new LineChange(originalLineNumber, originalLineNumber, modifiedLineNumber, modifiedLineNumber, charChanges));
- }
- _mergeTrimWhitespaceCharChange(result, originalLineNumber, originalStartColumn, originalEndColumn, modifiedLineNumber, modifiedStartColumn, modifiedEndColumn) {
- const len = result.length;
- if (len === 0) {
- return false;
- }
- const prevChange = result[len - 1];
- if (prevChange.originalEndLineNumber === 0 || prevChange.modifiedEndLineNumber === 0) {
- return false;
- }
- if (prevChange.originalEndLineNumber === originalLineNumber && prevChange.modifiedEndLineNumber === modifiedLineNumber) {
- if (this.shouldComputeCharChanges && prevChange.charChanges) {
- prevChange.charChanges.push(new CharChange(originalLineNumber, originalStartColumn, originalLineNumber, originalEndColumn, modifiedLineNumber, modifiedStartColumn, modifiedLineNumber, modifiedEndColumn));
- }
- return true;
- }
- if (prevChange.originalEndLineNumber + 1 === originalLineNumber && prevChange.modifiedEndLineNumber + 1 === modifiedLineNumber) {
- prevChange.originalEndLineNumber = originalLineNumber;
- prevChange.modifiedEndLineNumber = modifiedLineNumber;
- if (this.shouldComputeCharChanges && prevChange.charChanges) {
- prevChange.charChanges.push(new CharChange(originalLineNumber, originalStartColumn, originalLineNumber, originalEndColumn, modifiedLineNumber, modifiedStartColumn, modifiedLineNumber, modifiedEndColumn));
- }
- return true;
- }
- return false;
- }
- };
- function getFirstNonBlankColumn(txt, defaultValue) {
- const r = firstNonWhitespaceIndex(txt);
- if (r === -1) {
- return defaultValue;
- }
- return r + 1;
- }
- function getLastNonBlankColumn(txt, defaultValue) {
- const r = lastNonWhitespaceIndex(txt);
- if (r === -1) {
- return defaultValue;
- }
- return r + 2;
- }
- function createContinueProcessingPredicate(maximumRuntime) {
- if (maximumRuntime === 0) {
- return () => true;
- }
- const startTime = Date.now();
- return () => {
- return Date.now() - startTime < maximumRuntime;
- };
- }
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/editor/common/diff/standardLinesDiffComputer.js
- init_assert();
- init_lineRange();
- init_offsetRange();
- init_position();
- init_range();
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/editor/common/diff/algorithms/diffAlgorithm.js
- init_errors();
- init_offsetRange();
- var DiffAlgorithmResult = class _DiffAlgorithmResult {
- static trivial(seq1, seq2) {
- return new _DiffAlgorithmResult([new SequenceDiff(new OffsetRange(0, seq1.length), new OffsetRange(0, seq2.length))], false);
- }
- static trivialTimedOut(seq1, seq2) {
- return new _DiffAlgorithmResult([new SequenceDiff(new OffsetRange(0, seq1.length), new OffsetRange(0, seq2.length))], true);
- }
- constructor(diffs, hitTimeout) {
- this.diffs = diffs;
- this.hitTimeout = hitTimeout;
- }
- };
- var SequenceDiff = class _SequenceDiff {
- constructor(seq1Range, seq2Range) {
- this.seq1Range = seq1Range;
- this.seq2Range = seq2Range;
- }
- reverse() {
- return new _SequenceDiff(this.seq2Range, this.seq1Range);
- }
- toString() {
- return `${this.seq1Range} <-> ${this.seq2Range}`;
- }
- join(other) {
- return new _SequenceDiff(this.seq1Range.join(other.seq1Range), this.seq2Range.join(other.seq2Range));
- }
- };
- var InfiniteTimeout = class {
- isValid() {
- return true;
- }
- };
- InfiniteTimeout.instance = new InfiniteTimeout();
- var DateTimeout = class {
- constructor(timeout) {
- this.timeout = timeout;
- this.startTime = Date.now();
- this.valid = true;
- if (timeout <= 0) {
- throw new BugIndicatingError("timeout must be positive");
- }
- }
- // Recommendation: Set a log-point `{this.disable()}` in the body
- isValid() {
- const valid = Date.now() - this.startTime < this.timeout;
- if (!valid && this.valid) {
- this.valid = false;
- debugger;
- }
- return this.valid;
- }
- };
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/editor/common/diff/algorithms/dynamicProgrammingDiffing.js
- init_offsetRange();
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/editor/common/diff/algorithms/utils.js
- var Array2D = class {
- constructor(width, height) {
- this.width = width;
- this.height = height;
- this.array = [];
- this.array = new Array(width * height);
- }
- get(x, y) {
- return this.array[x + y * this.width];
- }
- set(x, y, value) {
- this.array[x + y * this.width] = value;
- }
- };
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/editor/common/diff/algorithms/dynamicProgrammingDiffing.js
- var DynamicProgrammingDiffing = class {
- compute(sequence1, sequence2, timeout = InfiniteTimeout.instance, equalityScore) {
- if (sequence1.length === 0 || sequence2.length === 0) {
- return DiffAlgorithmResult.trivial(sequence1, sequence2);
- }
- const lcsLengths = new Array2D(sequence1.length, sequence2.length);
- const directions = new Array2D(sequence1.length, sequence2.length);
- const lengths = new Array2D(sequence1.length, sequence2.length);
- for (let s12 = 0; s12 < sequence1.length; s12++) {
- for (let s22 = 0; s22 < sequence2.length; s22++) {
- if (!timeout.isValid()) {
- return DiffAlgorithmResult.trivialTimedOut(sequence1, sequence2);
- }
- const horizontalLen = s12 === 0 ? 0 : lcsLengths.get(s12 - 1, s22);
- const verticalLen = s22 === 0 ? 0 : lcsLengths.get(s12, s22 - 1);
- let extendedSeqScore;
- if (sequence1.getElement(s12) === sequence2.getElement(s22)) {
- if (s12 === 0 || s22 === 0) {
- extendedSeqScore = 0;
- } else {
- extendedSeqScore = lcsLengths.get(s12 - 1, s22 - 1);
- }
- if (s12 > 0 && s22 > 0 && directions.get(s12 - 1, s22 - 1) === 3) {
- extendedSeqScore += lengths.get(s12 - 1, s22 - 1);
- }
- extendedSeqScore += equalityScore ? equalityScore(s12, s22) : 1;
- } else {
- extendedSeqScore = -1;
- }
- const newValue = Math.max(horizontalLen, verticalLen, extendedSeqScore);
- if (newValue === extendedSeqScore) {
- const prevLen = s12 > 0 && s22 > 0 ? lengths.get(s12 - 1, s22 - 1) : 0;
- lengths.set(s12, s22, prevLen + 1);
- directions.set(s12, s22, 3);
- } else if (newValue === horizontalLen) {
- lengths.set(s12, s22, 0);
- directions.set(s12, s22, 1);
- } else if (newValue === verticalLen) {
- lengths.set(s12, s22, 0);
- directions.set(s12, s22, 2);
- }
- lcsLengths.set(s12, s22, newValue);
- }
- }
- const result = [];
- let lastAligningPosS1 = sequence1.length;
- let lastAligningPosS2 = sequence2.length;
- function reportDecreasingAligningPositions(s12, s22) {
- if (s12 + 1 !== lastAligningPosS1 || s22 + 1 !== lastAligningPosS2) {
- result.push(new SequenceDiff(new OffsetRange(s12 + 1, lastAligningPosS1), new OffsetRange(s22 + 1, lastAligningPosS2)));
- }
- lastAligningPosS1 = s12;
- lastAligningPosS2 = s22;
- }
- let s1 = sequence1.length - 1;
- let s2 = sequence2.length - 1;
- while (s1 >= 0 && s2 >= 0) {
- if (directions.get(s1, s2) === 3) {
- reportDecreasingAligningPositions(s1, s2);
- s1--;
- s2--;
- } else {
- if (directions.get(s1, s2) === 1) {
- s1--;
- } else {
- s2--;
- }
- }
- }
- reportDecreasingAligningPositions(-1, -1);
- result.reverse();
- return new DiffAlgorithmResult(result, false);
- }
- };
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/editor/common/diff/algorithms/joinSequenceDiffs.js
- init_offsetRange();
- function optimizeSequenceDiffs(sequence1, sequence2, sequenceDiffs) {
- let result = sequenceDiffs;
- result = joinSequenceDiffs(sequence1, sequence2, result);
- result = shiftSequenceDiffs(sequence1, sequence2, result);
- return result;
- }
- function smoothenSequenceDiffs(sequence1, sequence2, sequenceDiffs) {
- const result = [];
- for (const s of sequenceDiffs) {
- const last = result[result.length - 1];
- if (!last) {
- result.push(s);
- continue;
- }
- if (s.seq1Range.start - last.seq1Range.endExclusive <= 2 || s.seq2Range.start - last.seq2Range.endExclusive <= 2) {
- result[result.length - 1] = new SequenceDiff(last.seq1Range.join(s.seq1Range), last.seq2Range.join(s.seq2Range));
- } else {
- result.push(s);
- }
- }
- return result;
- }
- function joinSequenceDiffs(sequence1, sequence2, sequenceDiffs) {
- const result = [];
- if (sequenceDiffs.length > 0) {
- result.push(sequenceDiffs[0]);
- }
- for (let i = 1; i < sequenceDiffs.length; i++) {
- const lastResult = result[result.length - 1];
- const cur = sequenceDiffs[i];
- if (cur.seq1Range.isEmpty) {
- let all = true;
- const length = cur.seq1Range.start - lastResult.seq1Range.endExclusive;
- for (let i2 = 1; i2 <= length; i2++) {
- if (sequence2.getElement(cur.seq2Range.start - i2) !== sequence2.getElement(cur.seq2Range.endExclusive - i2)) {
- all = false;
- break;
- }
- }
- if (all) {
- result[result.length - 1] = new SequenceDiff(lastResult.seq1Range, new OffsetRange(lastResult.seq2Range.start, cur.seq2Range.endExclusive - length));
- continue;
- }
- }
- result.push(cur);
- }
- return result;
- }
- function shiftSequenceDiffs(sequence1, sequence2, sequenceDiffs) {
- if (!sequence1.getBoundaryScore || !sequence2.getBoundaryScore) {
- return sequenceDiffs;
- }
- for (let i = 0; i < sequenceDiffs.length; i++) {
- const diff = sequenceDiffs[i];
- if (diff.seq1Range.isEmpty) {
- const seq2PrevEndExclusive = i > 0 ? sequenceDiffs[i - 1].seq2Range.endExclusive : -1;
- const seq2NextStart = i + 1 < sequenceDiffs.length ? sequenceDiffs[i + 1].seq2Range.start : sequence2.length;
- sequenceDiffs[i] = shiftDiffToBetterPosition(diff, sequence1, sequence2, seq2NextStart, seq2PrevEndExclusive);
- } else if (diff.seq2Range.isEmpty) {
- const seq1PrevEndExclusive = i > 0 ? sequenceDiffs[i - 1].seq1Range.endExclusive : -1;
- const seq1NextStart = i + 1 < sequenceDiffs.length ? sequenceDiffs[i + 1].seq1Range.start : sequence1.length;
- sequenceDiffs[i] = shiftDiffToBetterPosition(diff.reverse(), sequence2, sequence1, seq1NextStart, seq1PrevEndExclusive).reverse();
- }
- }
- return sequenceDiffs;
- }
- function shiftDiffToBetterPosition(diff, sequence1, sequence2, seq2NextStart, seq2PrevEndExclusive) {
- const maxShiftLimit = 20;
- let deltaBefore = 1;
- while (diff.seq2Range.start - deltaBefore > seq2PrevEndExclusive && sequence2.getElement(diff.seq2Range.start - deltaBefore) === sequence2.getElement(diff.seq2Range.endExclusive - deltaBefore) && deltaBefore < maxShiftLimit) {
- deltaBefore++;
- }
- deltaBefore--;
- let deltaAfter = 0;
- while (diff.seq2Range.start + deltaAfter < seq2NextStart && sequence2.getElement(diff.seq2Range.start + deltaAfter) === sequence2.getElement(diff.seq2Range.endExclusive + deltaAfter) && deltaAfter < maxShiftLimit) {
- deltaAfter++;
- }
- if (deltaBefore === 0 && deltaAfter === 0) {
- return diff;
- }
- let bestDelta = 0;
- let bestScore = -1;
- for (let delta = -deltaBefore; delta <= deltaAfter; delta++) {
- const seq2OffsetStart = diff.seq2Range.start + delta;
- const seq2OffsetEndExclusive = diff.seq2Range.endExclusive + delta;
- const seq1Offset = diff.seq1Range.start + delta;
- const score2 = sequence1.getBoundaryScore(seq1Offset) + sequence2.getBoundaryScore(seq2OffsetStart) + sequence2.getBoundaryScore(seq2OffsetEndExclusive);
- if (score2 > bestScore) {
- bestScore = score2;
- bestDelta = delta;
- }
- }
- if (bestDelta !== 0) {
- return new SequenceDiff(diff.seq1Range.delta(bestDelta), diff.seq2Range.delta(bestDelta));
- }
- return diff;
- }
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/editor/common/diff/algorithms/myersDiffAlgorithm.js
- init_offsetRange();
- var MyersDiffAlgorithm = class {
- compute(seq1, seq2, timeout = InfiniteTimeout.instance) {
- if (seq1.length === 0 || seq2.length === 0) {
- return DiffAlgorithmResult.trivial(seq1, seq2);
- }
- function getXAfterSnake(x, y) {
- while (x < seq1.length && y < seq2.length && seq1.getElement(x) === seq2.getElement(y)) {
- x++;
- y++;
- }
- return x;
- }
- let d = 0;
- const V = new FastInt32Array();
- V.set(0, getXAfterSnake(0, 0));
- const paths = new FastArrayNegativeIndices();
- paths.set(0, V.get(0) === 0 ? null : new SnakePath(null, 0, 0, V.get(0)));
- let k = 0;
- loop:
- while (true) {
- d++;
- for (k = -d; k <= d; k += 2) {
- if (!timeout.isValid()) {
- return DiffAlgorithmResult.trivialTimedOut(seq1, seq2);
- }
- const maxXofDLineTop = k === d ? -1 : V.get(k + 1);
- const maxXofDLineLeft = k === -d ? -1 : V.get(k - 1) + 1;
- const x = Math.min(Math.max(maxXofDLineTop, maxXofDLineLeft), seq1.length);
- const y = x - k;
- const newMaxX = getXAfterSnake(x, y);
- V.set(k, newMaxX);
- const lastPath = x === maxXofDLineTop ? paths.get(k + 1) : paths.get(k - 1);
- paths.set(k, newMaxX !== x ? new SnakePath(lastPath, x, y, newMaxX - x) : lastPath);
- if (V.get(k) === seq1.length && V.get(k) - k === seq2.length) {
- break loop;
- }
- }
- }
- let path = paths.get(k);
- const result = [];
- let lastAligningPosS1 = seq1.length;
- let lastAligningPosS2 = seq2.length;
- while (true) {
- const endX = path ? path.x + path.length : 0;
- const endY = path ? path.y + path.length : 0;
- if (endX !== lastAligningPosS1 || endY !== lastAligningPosS2) {
- result.push(new SequenceDiff(new OffsetRange(endX, lastAligningPosS1), new OffsetRange(endY, lastAligningPosS2)));
- }
- if (!path) {
- break;
- }
- lastAligningPosS1 = path.x;
- lastAligningPosS2 = path.y;
- path = path.prev;
- }
- result.reverse();
- return new DiffAlgorithmResult(result, false);
- }
- };
- var SnakePath = class {
- constructor(prev, x, y, length) {
- this.prev = prev;
- this.x = x;
- this.y = y;
- this.length = length;
- }
- };
- var FastInt32Array = class {
- constructor() {
- this.positiveArr = new Int32Array(10);
- this.negativeArr = new Int32Array(10);
- }
- get(idx) {
- if (idx < 0) {
- idx = -idx - 1;
- return this.negativeArr[idx];
- } else {
- return this.positiveArr[idx];
- }
- }
- set(idx, value) {
- if (idx < 0) {
- idx = -idx - 1;
- if (idx >= this.negativeArr.length) {
- const arr = this.negativeArr;
- this.negativeArr = new Int32Array(arr.length * 2);
- this.negativeArr.set(arr);
- }
- this.negativeArr[idx] = value;
- } else {
- if (idx >= this.positiveArr.length) {
- const arr = this.positiveArr;
- this.positiveArr = new Int32Array(arr.length * 2);
- this.positiveArr.set(arr);
- }
- this.positiveArr[idx] = value;
- }
- }
- };
- var FastArrayNegativeIndices = class {
- constructor() {
- this.positiveArr = [];
- this.negativeArr = [];
- }
- get(idx) {
- if (idx < 0) {
- idx = -idx - 1;
- return this.negativeArr[idx];
- } else {
- return this.positiveArr[idx];
- }
- }
- set(idx, value) {
- if (idx < 0) {
- idx = -idx - 1;
- this.negativeArr[idx] = value;
- } else {
- this.positiveArr[idx] = value;
- }
- }
- };
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/editor/common/diff/standardLinesDiffComputer.js
- var StandardLinesDiffComputer = class {
- constructor() {
- this.dynamicProgrammingDiffing = new DynamicProgrammingDiffing();
- this.myersDiffingAlgorithm = new MyersDiffAlgorithm();
- }
- computeDiff(originalLines, modifiedLines, options) {
- const timeout = options.maxComputationTimeMs === 0 ? InfiniteTimeout.instance : new DateTimeout(options.maxComputationTimeMs);
- const considerWhitespaceChanges = !options.ignoreTrimWhitespace;
- const perfectHashes = /* @__PURE__ */ new Map();
- function getOrCreateHash(text) {
- let hash2 = perfectHashes.get(text);
- if (hash2 === void 0) {
- hash2 = perfectHashes.size;
- perfectHashes.set(text, hash2);
- }
- return hash2;
- }
- const srcDocLines = originalLines.map((l) => getOrCreateHash(l.trim()));
- const tgtDocLines = modifiedLines.map((l) => getOrCreateHash(l.trim()));
- const sequence1 = new LineSequence2(srcDocLines, originalLines);
- const sequence2 = new LineSequence2(tgtDocLines, modifiedLines);
- const lineAlignmentResult = (() => {
- if (sequence1.length + sequence2.length < 1500) {
- return this.dynamicProgrammingDiffing.compute(sequence1, sequence2, timeout, (offset1, offset2) => originalLines[offset1] === modifiedLines[offset2] ? modifiedLines[offset2].length === 0 ? 0.1 : 1 + Math.log(1 + modifiedLines[offset2].length) : 0.99);
- }
- return this.myersDiffingAlgorithm.compute(sequence1, sequence2);
- })();
- let lineAlignments = lineAlignmentResult.diffs;
- let hitTimeout = lineAlignmentResult.hitTimeout;
- lineAlignments = optimizeSequenceDiffs(sequence1, sequence2, lineAlignments);
- const alignments = [];
- const scanForWhitespaceChanges = (equalLinesCount) => {
- if (!considerWhitespaceChanges) {
- return;
- }
- for (let i = 0; i < equalLinesCount; i++) {
- const seq1Offset = seq1LastStart + i;
- const seq2Offset = seq2LastStart + i;
- if (originalLines[seq1Offset] !== modifiedLines[seq2Offset]) {
- const characterDiffs = this.refineDiff(originalLines, modifiedLines, new SequenceDiff(new OffsetRange(seq1Offset, seq1Offset + 1), new OffsetRange(seq2Offset, seq2Offset + 1)), timeout, considerWhitespaceChanges);
- for (const a of characterDiffs.mappings) {
- alignments.push(a);
- }
- if (characterDiffs.hitTimeout) {
- hitTimeout = true;
- }
- }
- }
- };
- let seq1LastStart = 0;
- let seq2LastStart = 0;
- for (const diff of lineAlignments) {
- assertFn(() => diff.seq1Range.start - seq1LastStart === diff.seq2Range.start - seq2LastStart);
- const equalLinesCount = diff.seq1Range.start - seq1LastStart;
- scanForWhitespaceChanges(equalLinesCount);
- seq1LastStart = diff.seq1Range.endExclusive;
- seq2LastStart = diff.seq2Range.endExclusive;
- const characterDiffs = this.refineDiff(originalLines, modifiedLines, diff, timeout, considerWhitespaceChanges);
- if (characterDiffs.hitTimeout) {
- hitTimeout = true;
- }
- for (const a of characterDiffs.mappings) {
- alignments.push(a);
- }
- }
- scanForWhitespaceChanges(originalLines.length - seq1LastStart);
- const changes = lineRangeMappingFromRangeMappings(alignments, originalLines, modifiedLines);
- return new LinesDiff(changes, hitTimeout);
- }
- refineDiff(originalLines, modifiedLines, diff, timeout, considerWhitespaceChanges) {
- const sourceSlice = new Slice(originalLines, diff.seq1Range, considerWhitespaceChanges);
- const targetSlice = new Slice(modifiedLines, diff.seq2Range, considerWhitespaceChanges);
- const diffResult = sourceSlice.length + targetSlice.length < 500 ? this.dynamicProgrammingDiffing.compute(sourceSlice, targetSlice, timeout) : this.myersDiffingAlgorithm.compute(sourceSlice, targetSlice, timeout);
- let diffs = diffResult.diffs;
- diffs = optimizeSequenceDiffs(sourceSlice, targetSlice, diffs);
- diffs = coverFullWords(sourceSlice, targetSlice, diffs);
- diffs = smoothenSequenceDiffs(sourceSlice, targetSlice, diffs);
- const result = diffs.map((d) => new RangeMapping(sourceSlice.translateRange(d.seq1Range), targetSlice.translateRange(d.seq2Range)));
- return {
- mappings: result,
- hitTimeout: diffResult.hitTimeout
- };
- }
- };
- function coverFullWords(sequence1, sequence2, sequenceDiffs) {
- const additional = [];
- let lastModifiedWord = void 0;
- function maybePushWordToAdditional() {
- if (!lastModifiedWord) {
- return;
- }
- const originalLength1 = lastModifiedWord.s1Range.length - lastModifiedWord.deleted;
- const originalLength2 = lastModifiedWord.s2Range.length - lastModifiedWord.added;
- if (originalLength1 !== originalLength2) {
- }
- if (Math.max(lastModifiedWord.deleted, lastModifiedWord.added) + (lastModifiedWord.count - 1) > originalLength1) {
- additional.push(new SequenceDiff(lastModifiedWord.s1Range, lastModifiedWord.s2Range));
- }
- lastModifiedWord = void 0;
- }
- for (const s of sequenceDiffs) {
- let processWord = function(s1Range, s2Range) {
- var _a3, _b, _c, _d;
- if (!lastModifiedWord || !lastModifiedWord.s1Range.containsRange(s1Range) || !lastModifiedWord.s2Range.containsRange(s2Range)) {
- if (lastModifiedWord && !(lastModifiedWord.s1Range.endExclusive < s1Range.start && lastModifiedWord.s2Range.endExclusive < s2Range.start)) {
- const s1Added = OffsetRange.tryCreate(lastModifiedWord.s1Range.endExclusive, s1Range.start);
- const s2Added = OffsetRange.tryCreate(lastModifiedWord.s2Range.endExclusive, s2Range.start);
- lastModifiedWord.deleted += (_a3 = s1Added === null || s1Added === void 0 ? void 0 : s1Added.length) !== null && _a3 !== void 0 ? _a3 : 0;
- lastModifiedWord.added += (_b = s2Added === null || s2Added === void 0 ? void 0 : s2Added.length) !== null && _b !== void 0 ? _b : 0;
- lastModifiedWord.s1Range = lastModifiedWord.s1Range.join(s1Range);
- lastModifiedWord.s2Range = lastModifiedWord.s2Range.join(s2Range);
- } else {
- maybePushWordToAdditional();
- lastModifiedWord = { added: 0, deleted: 0, count: 0, s1Range, s2Range };
- }
- }
- const changedS1 = s1Range.intersect(s.seq1Range);
- const changedS2 = s2Range.intersect(s.seq2Range);
- lastModifiedWord.count++;
- lastModifiedWord.deleted += (_c = changedS1 === null || changedS1 === void 0 ? void 0 : changedS1.length) !== null && _c !== void 0 ? _c : 0;
- lastModifiedWord.added += (_d = changedS2 === null || changedS2 === void 0 ? void 0 : changedS2.length) !== null && _d !== void 0 ? _d : 0;
- };
- const w1Before = sequence1.findWordContaining(s.seq1Range.start - 1);
- const w2Before = sequence2.findWordContaining(s.seq2Range.start - 1);
- const w1After = sequence1.findWordContaining(s.seq1Range.endExclusive);
- const w2After = sequence2.findWordContaining(s.seq2Range.endExclusive);
- if (w1Before && w1After && w2Before && w2After && w1Before.equals(w1After) && w2Before.equals(w2After)) {
- processWord(w1Before, w2Before);
- } else {
- if (w1Before && w2Before) {
- processWord(w1Before, w2Before);
- }
- if (w1After && w2After) {
- processWord(w1After, w2After);
- }
- }
- }
- maybePushWordToAdditional();
- const merged = mergeSequenceDiffs(sequenceDiffs, additional);
- return merged;
- }
- function mergeSequenceDiffs(sequenceDiffs1, sequenceDiffs2) {
- const result = [];
- while (sequenceDiffs1.length > 0 || sequenceDiffs2.length > 0) {
- const sd1 = sequenceDiffs1[0];
- const sd2 = sequenceDiffs2[0];
- let next;
- if (sd1 && (!sd2 || sd1.seq1Range.start < sd2.seq1Range.start)) {
- next = sequenceDiffs1.shift();
- } else {
- next = sequenceDiffs2.shift();
- }
- if (result.length > 0 && result[result.length - 1].seq1Range.endExclusive >= next.seq1Range.start) {
- result[result.length - 1] = result[result.length - 1].join(next);
- } else {
- result.push(next);
- }
- }
- return result;
- }
- function lineRangeMappingFromRangeMappings(alignments, originalLines, modifiedLines) {
- const changes = [];
- for (const g of group(alignments.map((a) => getLineRangeMapping(a, originalLines, modifiedLines)), (a1, a2) => a1.originalRange.overlapOrTouch(a2.originalRange) || a1.modifiedRange.overlapOrTouch(a2.modifiedRange))) {
- const first = g[0];
- const last = g[g.length - 1];
- changes.push(new LineRangeMapping(first.originalRange.join(last.originalRange), first.modifiedRange.join(last.modifiedRange), g.map((a) => a.innerChanges[0])));
- }
- assertFn(() => {
- return checkAdjacentItems(changes, (m1, m2) => m2.originalRange.startLineNumber - m1.originalRange.endLineNumberExclusive === m2.modifiedRange.startLineNumber - m1.modifiedRange.endLineNumberExclusive && // There has to be an unchanged line in between (otherwise both diffs should have been joined)
- m1.originalRange.endLineNumberExclusive < m2.originalRange.startLineNumber && m1.modifiedRange.endLineNumberExclusive < m2.modifiedRange.startLineNumber);
- });
- return changes;
- }
- function getLineRangeMapping(rangeMapping, originalLines, modifiedLines) {
- let lineStartDelta = 0;
- let lineEndDelta = 0;
- if (rangeMapping.modifiedRange.startColumn - 1 >= modifiedLines[rangeMapping.modifiedRange.startLineNumber - 1].length && rangeMapping.originalRange.startColumn - 1 >= originalLines[rangeMapping.originalRange.startLineNumber - 1].length) {
- lineStartDelta = 1;
- }
- if (rangeMapping.modifiedRange.endColumn === 1 && rangeMapping.originalRange.endColumn === 1 && rangeMapping.originalRange.startLineNumber + lineStartDelta <= rangeMapping.originalRange.endLineNumber && rangeMapping.modifiedRange.startLineNumber + lineStartDelta <= rangeMapping.modifiedRange.endLineNumber) {
- lineEndDelta = -1;
- }
- const originalLineRange = new LineRange(rangeMapping.originalRange.startLineNumber + lineStartDelta, rangeMapping.originalRange.endLineNumber + 1 + lineEndDelta);
- const modifiedLineRange = new LineRange(rangeMapping.modifiedRange.startLineNumber + lineStartDelta, rangeMapping.modifiedRange.endLineNumber + 1 + lineEndDelta);
- return new LineRangeMapping(originalLineRange, modifiedLineRange, [rangeMapping]);
- }
- function* group(items, shouldBeGrouped) {
- let currentGroup;
- let last;
- for (const item of items) {
- if (last !== void 0 && shouldBeGrouped(last, item)) {
- currentGroup.push(item);
- } else {
- if (currentGroup) {
- yield currentGroup;
- }
- currentGroup = [item];
- }
- last = item;
- }
- if (currentGroup) {
- yield currentGroup;
- }
- }
- var LineSequence2 = class {
- constructor(trimmedHash, lines) {
- this.trimmedHash = trimmedHash;
- this.lines = lines;
- }
- getElement(offset) {
- return this.trimmedHash[offset];
- }
- get length() {
- return this.trimmedHash.length;
- }
- getBoundaryScore(length) {
- const indentationBefore = length === 0 ? 0 : getIndentation(this.lines[length - 1]);
- const indentationAfter = length === this.lines.length ? 0 : getIndentation(this.lines[length]);
- return 1e3 - (indentationBefore + indentationAfter);
- }
- };
- function getIndentation(str) {
- let i = 0;
- while (i < str.length && (str.charCodeAt(i) === 32 || str.charCodeAt(i) === 9)) {
- i++;
- }
- return i;
- }
- var Slice = class {
- constructor(lines, lineRange, considerWhitespaceChanges) {
- this.lines = lines;
- this.considerWhitespaceChanges = considerWhitespaceChanges;
- this.elements = [];
- this.firstCharOffsetByLineMinusOne = [];
- this.offsetByLine = [];
- let trimFirstLineFully = false;
- if (lineRange.start > 0 && lineRange.endExclusive >= lines.length) {
- lineRange = new OffsetRange(lineRange.start - 1, lineRange.endExclusive);
- trimFirstLineFully = true;
- }
- this.lineRange = lineRange;
- for (let i = this.lineRange.start; i < this.lineRange.endExclusive; i++) {
- let line = lines[i];
- let offset = 0;
- if (trimFirstLineFully) {
- offset = line.length;
- line = "";
- trimFirstLineFully = false;
- } else if (!considerWhitespaceChanges) {
- const trimmedStartLine = line.trimStart();
- offset = line.length - trimmedStartLine.length;
- line = trimmedStartLine.trimEnd();
- }
- this.offsetByLine.push(offset);
- for (let i2 = 0; i2 < line.length; i2++) {
- this.elements.push(line.charCodeAt(i2));
- }
- if (i < lines.length - 1) {
- this.elements.push("\n".charCodeAt(0));
- this.firstCharOffsetByLineMinusOne[i - this.lineRange.start] = this.elements.length;
- }
- }
- this.offsetByLine.push(0);
- }
- toString() {
- return `Slice: "${this.text}"`;
- }
- get text() {
- return [...this.elements].map((e) => String.fromCharCode(e)).join("");
- }
- getElement(offset) {
- return this.elements[offset];
- }
- get length() {
- return this.elements.length;
- }
- getBoundaryScore(length) {
- const prevCategory = getCategory(length > 0 ? this.elements[length - 1] : -1);
- const nextCategory = getCategory(length < this.elements.length ? this.elements[length] : -1);
- if (prevCategory === 6 && nextCategory === 7) {
- return 0;
- }
- let score2 = 0;
- if (prevCategory !== nextCategory) {
- score2 += 10;
- if (nextCategory === 1) {
- score2 += 1;
- }
- }
- score2 += getCategoryBoundaryScore(prevCategory);
- score2 += getCategoryBoundaryScore(nextCategory);
- return score2;
- }
- translateOffset(offset) {
- if (this.lineRange.isEmpty) {
- return new Position(this.lineRange.start + 1, 1);
- }
- let i = 0;
- let j = this.firstCharOffsetByLineMinusOne.length;
- while (i < j) {
- const k = Math.floor((i + j) / 2);
- if (this.firstCharOffsetByLineMinusOne[k] > offset) {
- j = k;
- } else {
- i = k + 1;
- }
- }
- const offsetOfPrevLineBreak = i === 0 ? 0 : this.firstCharOffsetByLineMinusOne[i - 1];
- return new Position(this.lineRange.start + i + 1, offset - offsetOfPrevLineBreak + 1 + this.offsetByLine[i]);
- }
- translateRange(range2) {
- return Range.fromPositions(this.translateOffset(range2.start), this.translateOffset(range2.endExclusive));
- }
- /**
- * Finds the word that contains the character at the given offset
- */
- findWordContaining(offset) {
- if (offset < 0 || offset >= this.elements.length) {
- return void 0;
- }
- if (!isWordChar(this.elements[offset])) {
- return void 0;
- }
- let start = offset;
- while (start > 0 && isWordChar(this.elements[start - 1])) {
- start--;
- }
- let end = offset;
- while (end < this.elements.length && isWordChar(this.elements[end])) {
- end++;
- }
- return new OffsetRange(start, end);
- }
- };
- function isWordChar(charCode) {
- return charCode >= 97 && charCode <= 122 || charCode >= 65 && charCode <= 90 || charCode >= 48 && charCode <= 57;
- }
- var score = {
- [
- 0
- /* CharBoundaryCategory.WordLower */
- ]: 0,
- [
- 1
- /* CharBoundaryCategory.WordUpper */
- ]: 0,
- [
- 2
- /* CharBoundaryCategory.WordNumber */
- ]: 0,
- [
- 3
- /* CharBoundaryCategory.End */
- ]: 10,
- [
- 4
- /* CharBoundaryCategory.Other */
- ]: 2,
- [
- 5
- /* CharBoundaryCategory.Space */
- ]: 3,
- [
- 6
- /* CharBoundaryCategory.LineBreakCR */
- ]: 10,
- [
- 7
- /* CharBoundaryCategory.LineBreakLF */
- ]: 10
- };
- function getCategoryBoundaryScore(category) {
- return score[category];
- }
- function getCategory(charCode) {
- if (charCode === 10) {
- return 7;
- } else if (charCode === 13) {
- return 6;
- } else if (isSpace(charCode)) {
- return 5;
- } else if (charCode >= 97 && charCode <= 122) {
- return 0;
- } else if (charCode >= 65 && charCode <= 90) {
- return 1;
- } else if (charCode >= 48 && charCode <= 57) {
- return 2;
- } else if (charCode === -1) {
- return 3;
- } else {
- return 4;
- }
- }
- function isSpace(charCode) {
- return charCode === 32 || charCode === 9;
- }
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/editor/common/diff/linesDiffComputers.js
- var linesDiffComputers = {
- legacy: new SmartLinesDiffComputer(),
- advanced: new StandardLinesDiffComputer()
- };
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/editor/common/services/editorSimpleWorker.js
- init_objects();
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/editor/common/languages/defaultDocumentColorsComputer.js
- init_color();
- function _parseCaptureGroups(captureGroups) {
- const values = [];
- for (const captureGroup of captureGroups) {
- const parsedNumber = Number(captureGroup);
- if (parsedNumber || parsedNumber === 0 && captureGroup.replace(/\s/g, "") !== "") {
- values.push(parsedNumber);
- }
- }
- return values;
- }
- function _toIColor(r, g, b, a) {
- return {
- red: r / 255,
- blue: b / 255,
- green: g / 255,
- alpha: a
- };
- }
- function _findRange(model, match) {
- const index = match.index;
- const length = match[0].length;
- if (!index) {
- return;
- }
- const startPosition = model.positionAt(index);
- const range2 = {
- startLineNumber: startPosition.lineNumber,
- startColumn: startPosition.column,
- endLineNumber: startPosition.lineNumber,
- endColumn: startPosition.column + length
- };
- return range2;
- }
- function _findHexColorInformation(range2, hexValue) {
- if (!range2) {
- return;
- }
- const parsedHexColor = Color.Format.CSS.parseHex(hexValue);
- if (!parsedHexColor) {
- return;
- }
- return {
- range: range2,
- color: _toIColor(parsedHexColor.rgba.r, parsedHexColor.rgba.g, parsedHexColor.rgba.b, parsedHexColor.rgba.a)
- };
- }
- function _findRGBColorInformation(range2, matches, isAlpha) {
- if (!range2 || matches.length !== 1) {
- return;
- }
- const match = matches[0];
- const captureGroups = match.values();
- const parsedRegex = _parseCaptureGroups(captureGroups);
- return {
- range: range2,
- color: _toIColor(parsedRegex[0], parsedRegex[1], parsedRegex[2], isAlpha ? parsedRegex[3] : 1)
- };
- }
- function _findHSLColorInformation(range2, matches, isAlpha) {
- if (!range2 || matches.length !== 1) {
- return;
- }
- const match = matches[0];
- const captureGroups = match.values();
- const parsedRegex = _parseCaptureGroups(captureGroups);
- const colorEquivalent = new Color(new HSLA(parsedRegex[0], parsedRegex[1] / 100, parsedRegex[2] / 100, isAlpha ? parsedRegex[3] : 1));
- return {
- range: range2,
- color: _toIColor(colorEquivalent.rgba.r, colorEquivalent.rgba.g, colorEquivalent.rgba.b, colorEquivalent.rgba.a)
- };
- }
- function _findMatches(model, regex) {
- if (typeof model === "string") {
- return [...model.matchAll(regex)];
- } else {
- return model.findMatches(regex);
- }
- }
- function computeColors(model) {
- const result = [];
- const initialValidationRegex = /\b(rgb|rgba|hsl|hsla)(\([0-9\s,.\%]*\))|(#)([A-Fa-f0-9]{6})\b|(#)([A-Fa-f0-9]{8})\b/gm;
- const initialValidationMatches = _findMatches(model, initialValidationRegex);
- if (initialValidationMatches.length > 0) {
- for (const initialMatch of initialValidationMatches) {
- const initialCaptureGroups = initialMatch.filter((captureGroup) => captureGroup !== void 0);
- const colorScheme = initialCaptureGroups[1];
- const colorParameters = initialCaptureGroups[2];
- if (!colorParameters) {
- continue;
- }
- let colorInformation;
- if (colorScheme === "rgb") {
- const regexParameters = /^\(\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*\)$/gm;
- colorInformation = _findRGBColorInformation(_findRange(model, initialMatch), _findMatches(colorParameters, regexParameters), false);
- } else if (colorScheme === "rgba") {
- const regexParameters = /^\(\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(0[.][0-9]+|[.][0-9]+|[01][.]|[01])\s*\)$/gm;
- colorInformation = _findRGBColorInformation(_findRange(model, initialMatch), _findMatches(colorParameters, regexParameters), true);
- } else if (colorScheme === "hsl") {
- const regexParameters = /^\(\s*(36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*\)$/gm;
- colorInformation = _findHSLColorInformation(_findRange(model, initialMatch), _findMatches(colorParameters, regexParameters), false);
- } else if (colorScheme === "hsla") {
- const regexParameters = /^\(\s*(36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(0[.][0-9]+|[.][0-9]+|[01][.]|[01])\s*\)$/gm;
- colorInformation = _findHSLColorInformation(_findRange(model, initialMatch), _findMatches(colorParameters, regexParameters), true);
- } else if (colorScheme === "#") {
- colorInformation = _findHexColorInformation(_findRange(model, initialMatch), colorScheme + colorParameters);
- }
- if (colorInformation) {
- result.push(colorInformation);
- }
- }
- }
- return result;
- }
- function computeDefaultDocumentColors(model) {
- if (!model || typeof model.getValue !== "function" || typeof model.positionAt !== "function") {
- return [];
- }
- return computeColors(model);
- }
- // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/editor/common/services/editorSimpleWorker.js
- var __awaiter2 = function(thisArg, _arguments, P, generator) {
- function adopt(value) {
- return value instanceof P ? value : new P(function(resolve2) {
- resolve2(value);
- });
- }
- return new (P || (P = Promise))(function(resolve2, reject) {
- function fulfilled(value) {
- try {
- step(generator.next(value));
- } catch (e) {
- reject(e);
- }
- }
- function rejected(value) {
- try {
- step(generator["throw"](value));
- } catch (e) {
- reject(e);
- }
- }
- function step(result) {
- result.done ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
- }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
- };
- var MirrorModel = class extends MirrorTextModel {
- get uri() {
- return this._uri;
- }
- get eol() {
- return this._eol;
- }
- getValue() {
- return this.getText();
- }
- findMatches(regex) {
- const matches = [];
- for (let i = 0; i < this._lines.length; i++) {
- const line = this._lines[i];
- const offsetToAdd = this.offsetAt(new Position(i + 1, 1));
- const iteratorOverMatches = line.matchAll(regex);
- for (const match of iteratorOverMatches) {
- if (match.index || match.index === 0) {
- match.index = match.index + offsetToAdd;
- }
- matches.push(match);
- }
- }
- return matches;
- }
- getLinesContent() {
- return this._lines.slice(0);
- }
- getLineCount() {
- return this._lines.length;
- }
- getLineContent(lineNumber) {
- return this._lines[lineNumber - 1];
- }
- getWordAtPosition(position, wordDefinition) {
- const wordAtText = getWordAtText(position.column, ensureValidWordDefinition(wordDefinition), this._lines[position.lineNumber - 1], 0);
- if (wordAtText) {
- return new Range(position.lineNumber, wordAtText.startColumn, position.lineNumber, wordAtText.endColumn);
- }
- return null;
- }
- words(wordDefinition) {
- const lines = this._lines;
- const wordenize = this._wordenize.bind(this);
- let lineNumber = 0;
- let lineText = "";
- let wordRangesIdx = 0;
- let wordRanges = [];
- return {
- *[Symbol.iterator]() {
- while (true) {
- if (wordRangesIdx < wordRanges.length) {
- const value = lineText.substring(wordRanges[wordRangesIdx].start, wordRanges[wordRangesIdx].end);
- wordRangesIdx += 1;
- yield value;
- } else {
- if (lineNumber < lines.length) {
- lineText = lines[lineNumber];
- wordRanges = wordenize(lineText, wordDefinition);
- wordRangesIdx = 0;
- lineNumber += 1;
- } else {
- break;
- }
- }
- }
- }
- };
- }
- getLineWords(lineNumber, wordDefinition) {
- const content = this._lines[lineNumber - 1];
- const ranges = this._wordenize(content, wordDefinition);
- const words = [];
- for (const range2 of ranges) {
- words.push({
- word: content.substring(range2.start, range2.end),
- startColumn: range2.start + 1,
- endColumn: range2.end + 1
- });
- }
- return words;
- }
- _wordenize(content, wordDefinition) {
- const result = [];
- let match;
- wordDefinition.lastIndex = 0;
- while (match = wordDefinition.exec(content)) {
- if (match[0].length === 0) {
- break;
- }
- result.push({ start: match.index, end: match.index + match[0].length });
- }
- return result;
- }
- getValueInRange(range2) {
- range2 = this._validateRange(range2);
- if (range2.startLineNumber === range2.endLineNumber) {
- return this._lines[range2.startLineNumber - 1].substring(range2.startColumn - 1, range2.endColumn - 1);
- }
- const lineEnding = this._eol;
- const startLineIndex = range2.startLineNumber - 1;
- const endLineIndex = range2.endLineNumber - 1;
- const resultLines = [];
- resultLines.push(this._lines[startLineIndex].substring(range2.startColumn - 1));
- for (let i = startLineIndex + 1; i < endLineIndex; i++) {
- resultLines.push(this._lines[i]);
- }
- resultLines.push(this._lines[endLineIndex].substring(0, range2.endColumn - 1));
- return resultLines.join(lineEnding);
- }
- offsetAt(position) {
- position = this._validatePosition(position);
- this._ensureLineStarts();
- return this._lineStarts.getPrefixSum(position.lineNumber - 2) + (position.column - 1);
- }
- positionAt(offset) {
- offset = Math.floor(offset);
- offset = Math.max(0, offset);
- this._ensureLineStarts();
- const out = this._lineStarts.getIndexOf(offset);
- const lineLength = this._lines[out.index].length;
- return {
- lineNumber: 1 + out.index,
- column: 1 + Math.min(out.remainder, lineLength)
- };
- }
- _validateRange(range2) {
- const start = this._validatePosition({ lineNumber: range2.startLineNumber, column: range2.startColumn });
- const end = this._validatePosition({ lineNumber: range2.endLineNumber, column: range2.endColumn });
- if (start.lineNumber !== range2.startLineNumber || start.column !== range2.startColumn || end.lineNumber !== range2.endLineNumber || end.column !== range2.endColumn) {
- return {
- startLineNumber: start.lineNumber,
- startColumn: start.column,
- endLineNumber: end.lineNumber,
- endColumn: end.column
- };
- }
- return range2;
- }
- _validatePosition(position) {
- if (!Position.isIPosition(position)) {
- throw new Error("bad position");
- }
- let { lineNumber, column } = position;
- let hasChanged = false;
- if (lineNumber < 1) {
- lineNumber = 1;
- column = 1;
- hasChanged = true;
- } else if (lineNumber > this._lines.length) {
- lineNumber = this._lines.length;
- column = this._lines[lineNumber - 1].length + 1;
- hasChanged = true;
- } else {
- const maxCharacter = this._lines[lineNumber - 1].length + 1;
- if (column < 1) {
- column = 1;
- hasChanged = true;
- } else if (column > maxCharacter) {
- column = maxCharacter;
- hasChanged = true;
- }
- }
- if (!hasChanged) {
- return position;
- } else {
- return { lineNumber, column };
- }
- }
- };
- var EditorSimpleWorker = class _EditorSimpleWorker {
- constructor(host, foreignModuleFactory) {
- this._host = host;
- this._models = /* @__PURE__ */ Object.create(null);
- this._foreignModuleFactory = foreignModuleFactory;
- this._foreignModule = null;
- }
- dispose() {
- this._models = /* @__PURE__ */ Object.create(null);
- }
- _getModel(uri) {
- return this._models[uri];
- }
- _getModels() {
- const all = [];
- Object.keys(this._models).forEach((key) => all.push(this._models[key]));
- return all;
- }
- acceptNewModel(data) {
- this._models[data.url] = new MirrorModel(URI.parse(data.url), data.lines, data.EOL, data.versionId);
- }
- acceptModelChanged(strURL, e) {
- if (!this._models[strURL]) {
- return;
- }
- const model = this._models[strURL];
- model.onEvents(e);
- }
- acceptRemovedModel(strURL) {
- if (!this._models[strURL]) {
- return;
- }
- delete this._models[strURL];
- }
- computeUnicodeHighlights(url, options, range2) {
- return __awaiter2(this, void 0, void 0, function* () {
- const model = this._getModel(url);
- if (!model) {
- return { ranges: [], hasMore: false, ambiguousCharacterCount: 0, invisibleCharacterCount: 0, nonBasicAsciiCharacterCount: 0 };
- }
- return UnicodeTextModelHighlighter.computeUnicodeHighlights(model, options, range2);
- });
- }
- // ---- BEGIN diff --------------------------------------------------------------------------
- computeDiff(originalUrl, modifiedUrl, options, algorithm) {
- return __awaiter2(this, void 0, void 0, function* () {
- const original = this._getModel(originalUrl);
- const modified = this._getModel(modifiedUrl);
- if (!original || !modified) {
- return null;
- }
- return _EditorSimpleWorker.computeDiff(original, modified, options, algorithm);
- });
- }
- static computeDiff(originalTextModel, modifiedTextModel, options, algorithm) {
- const diffAlgorithm = algorithm === "advanced" ? linesDiffComputers.advanced : linesDiffComputers.legacy;
- const originalLines = originalTextModel.getLinesContent();
- const modifiedLines = modifiedTextModel.getLinesContent();
- const result = diffAlgorithm.computeDiff(originalLines, modifiedLines, options);
- const identical = result.changes.length > 0 ? false : this._modelsAreIdentical(originalTextModel, modifiedTextModel);
- return {
- identical,
- quitEarly: result.hitTimeout,
- changes: result.changes.map((m) => {
- var _a3;
- return [m.originalRange.startLineNumber, m.originalRange.endLineNumberExclusive, m.modifiedRange.startLineNumber, m.modifiedRange.endLineNumberExclusive, (_a3 = m.innerChanges) === null || _a3 === void 0 ? void 0 : _a3.map((m2) => [
- m2.originalRange.startLineNumber,
- m2.originalRange.startColumn,
- m2.originalRange.endLineNumber,
- m2.originalRange.endColumn,
- m2.modifiedRange.startLineNumber,
- m2.modifiedRange.startColumn,
- m2.modifiedRange.endLineNumber,
- m2.modifiedRange.endColumn
- ])];
- })
- };
- }
- static _modelsAreIdentical(original, modified) {
- const originalLineCount = original.getLineCount();
- const modifiedLineCount = modified.getLineCount();
- if (originalLineCount !== modifiedLineCount) {
- return false;
- }
- for (let line = 1; line <= originalLineCount; line++) {
- const originalLine = original.getLineContent(line);
- const modifiedLine = modified.getLineContent(line);
- if (originalLine !== modifiedLine) {
- return false;
- }
- }
- return true;
- }
- computeMoreMinimalEdits(modelUrl, edits, pretty) {
- return __awaiter2(this, void 0, void 0, function* () {
- const model = this._getModel(modelUrl);
- if (!model) {
- return edits;
- }
- const result = [];
- let lastEol = void 0;
- edits = edits.slice(0).sort((a, b) => {
- if (a.range && b.range) {
- return Range.compareRangesUsingStarts(a.range, b.range);
- }
- const aRng = a.range ? 0 : 1;
- const bRng = b.range ? 0 : 1;
- return aRng - bRng;
- });
- for (let { range: range2, text, eol } of edits) {
- if (typeof eol === "number") {
- lastEol = eol;
- }
- if (Range.isEmpty(range2) && !text) {
- continue;
- }
- const original = model.getValueInRange(range2);
- text = text.replace(/\r\n|\n|\r/g, model.eol);
- if (original === text) {
- continue;
- }
- if (Math.max(text.length, original.length) > _EditorSimpleWorker._diffLimit) {
- result.push({ range: range2, text });
- continue;
- }
- const changes = stringDiff(original, text, pretty);
- const editOffset = model.offsetAt(Range.lift(range2).getStartPosition());
- for (const change of changes) {
- const start = model.positionAt(editOffset + change.originalStart);
- const end = model.positionAt(editOffset + change.originalStart + change.originalLength);
- const newEdit = {
- text: text.substr(change.modifiedStart, change.modifiedLength),
- range: { startLineNumber: start.lineNumber, startColumn: start.column, endLineNumber: end.lineNumber, endColumn: end.column }
- };
- if (model.getValueInRange(newEdit.range) !== newEdit.text) {
- result.push(newEdit);
- }
- }
- }
- if (typeof lastEol === "number") {
- result.push({ eol: lastEol, text: "", range: { startLineNumber: 0, startColumn: 0, endLineNumber: 0, endColumn: 0 } });
- }
- return result;
- });
- }
- // ---- END minimal edits ---------------------------------------------------------------
- computeLinks(modelUrl) {
- return __awaiter2(this, void 0, void 0, function* () {
- const model = this._getModel(modelUrl);
- if (!model) {
- return null;
- }
- return computeLinks(model);
- });
- }
- // --- BEGIN default document colors -----------------------------------------------------------
- computeDefaultDocumentColors(modelUrl) {
- return __awaiter2(this, void 0, void 0, function* () {
- const model = this._getModel(modelUrl);
- if (!model) {
- return null;
- }
- return computeDefaultDocumentColors(model);
- });
- }
- textualSuggest(modelUrls, leadingWord, wordDef, wordDefFlags) {
- return __awaiter2(this, void 0, void 0, function* () {
- const sw = new StopWatch(true);
- const wordDefRegExp = new RegExp(wordDef, wordDefFlags);
- const seen = /* @__PURE__ */ new Set();
- outer:
- for (const url of modelUrls) {
- const model = this._getModel(url);
- if (!model) {
- continue;
- }
- for (const word of model.words(wordDefRegExp)) {
- if (word === leadingWord || !isNaN(Number(word))) {
- continue;
- }
- seen.add(word);
- if (seen.size > _EditorSimpleWorker._suggestionsLimit) {
- break outer;
- }
- }
- }
- return { words: Array.from(seen), duration: sw.elapsed() };
- });
- }
- // ---- END suggest --------------------------------------------------------------------------
- //#region -- word ranges --
- computeWordRanges(modelUrl, range2, wordDef, wordDefFlags) {
- return __awaiter2(this, void 0, void 0, function* () {
- const model = this._getModel(modelUrl);
- if (!model) {
- return /* @__PURE__ */ Object.create(null);
- }
- const wordDefRegExp = new RegExp(wordDef, wordDefFlags);
- const result = /* @__PURE__ */ Object.create(null);
- for (let line = range2.startLineNumber; line < range2.endLineNumber; line++) {
- const words = model.getLineWords(line, wordDefRegExp);
- for (const word of words) {
- if (!isNaN(Number(word.word))) {
- continue;
- }
- let array = result[word.word];
- if (!array) {
- array = [];
- result[word.word] = array;
- }
- array.push({
- startLineNumber: line,
- startColumn: word.startColumn,
- endLineNumber: line,
- endColumn: word.endColumn
- });
- }
- }
- return result;
- });
- }
- //#endregion
- navigateValueSet(modelUrl, range2, up, wordDef, wordDefFlags) {
- return __awaiter2(this, void 0, void 0, function* () {
- const model = this._getModel(modelUrl);
- if (!model) {
- return null;
- }
- const wordDefRegExp = new RegExp(wordDef, wordDefFlags);
- if (range2.startColumn === range2.endColumn) {
- range2 = {
- startLineNumber: range2.startLineNumber,
- startColumn: range2.startColumn,
- endLineNumber: range2.endLineNumber,
- endColumn: range2.endColumn + 1
- };
- }
- const selectionText = model.getValueInRange(range2);
- const wordRange = model.getWordAtPosition({ lineNumber: range2.startLineNumber, column: range2.startColumn }, wordDefRegExp);
- if (!wordRange) {
- return null;
- }
- const word = model.getValueInRange(wordRange);
- const result = BasicInplaceReplace.INSTANCE.navigateValueSet(range2, selectionText, wordRange, word, up);
- return result;
- });
- }
- // ---- BEGIN foreign module support --------------------------------------------------------------------------
- loadForeignModule(moduleId, createData, foreignHostMethods) {
- const proxyMethodRequest = (method, args) => {
- return this._host.fhr(method, args);
- };
- const foreignHost = createProxyObject(foreignHostMethods, proxyMethodRequest);
- const ctx = {
- host: foreignHost,
- getMirrorModels: () => {
- return this._getModels();
- }
- };
- if (this._foreignModuleFactory) {
- this._foreignModule = this._foreignModuleFactory(ctx, createData);
- return Promise.resolve(getAllMethodNames(this._foreignModule));
- }
- return Promise.reject(new Error(`Unexpected usage`));
- }
- // foreign method request
- fmr(method, args) {
- if (!this._foreignModule || typeof this._foreignModule[method] !== "function") {
- return Promise.reject(new Error("Missing requestHandler or method: " + method));
- }
- try {
- return Promise.resolve(this._foreignModule[method].apply(this._foreignModule, args));
- } catch (e) {
- return Promise.reject(e);
- }
- }
- };
- EditorSimpleWorker._diffLimit = 1e5;
- EditorSimpleWorker._suggestionsLimit = 1e4;
- if (typeof importScripts === "function") {
- globalThis.monaco = createMonacoBaseAPI();
- }
- export {
- onUnexpectedError,
- onUnexpectedExternalError,
- isCancellationError,
- CancellationError,
- canceled,
- illegalArgument,
- illegalState,
- NotSupportedError,
- BugIndicatingError,
- init_errors,
- once,
- init_functional,
- Iterable,
- init_iterator,
- markAsSingleton,
- isDisposable,
- dispose,
- combinedDisposable,
- toDisposable,
- DisposableStore,
- Disposable,
- MutableDisposable,
- RefCountedDisposable,
- ImmortalReference,
- DisposableMap,
- init_lifecycle,
- LinkedList,
- init_linkedList,
- localize,
- init_nls,
- globals,
- isWindows,
- isMacintosh,
- isLinux,
- isNative,
- isWeb,
- isWebWorker,
- isIOS,
- isMobile,
- language,
- setTimeout0,
- OS,
- isLittleEndian,
- isChrome,
- isFirefox,
- isSafari,
- isEdge,
- init_platform,
- StopWatch,
- init_stopwatch,
- Event,
- Emitter,
- EventDeliveryQueue,
- PauseableEmitter,
- DebounceEmitter,
- MicrotaskEmitter,
- EventMultiplexer,
- EventBufferer,
- Relay,
- init_event,
- isString,
- isObject,
- isNumber,
- isIterable,
- isBoolean,
- isUndefined,
- isDefined,
- isUndefinedOrNull,
- assertType,
- assertIsDefined,
- isFunction,
- validateConstraints,
- withNullAsUndefined,
- withUndefinedAsNull,
- init_types,
- deepClone,
- deepFreeze,
- cloneAndChange,
- mixin,
- equals,
- getAllMethodNames,
- init_objects,
- CachedFunction,
- init_cache,
- Lazy,
- init_lazy,
- isFalsyOrWhitespace,
- format,
- escape,
- escapeRegExpCharacters,
- trim,
- ltrim,
- rtrim,
- convertSimple2RegExpPattern,
- stripWildcards,
- createRegExp,
- regExpLeadsToEndlessLoop,
- regExpFlags,
- splitLines,
- firstNonWhitespaceIndex,
- getLeadingWhitespace,
- lastNonWhitespaceIndex,
- compare,
- compareSubstring,
- compareIgnoreCase,
- compareSubstringIgnoreCase,
- isAsciiDigit,
- isLowerAsciiLetter,
- isUpperAsciiLetter,
- equalsIgnoreCase,
- startsWithIgnoreCase,
- commonPrefixLength,
- commonSuffixLength,
- isHighSurrogate,
- isLowSurrogate,
- getNextCodePoint,
- GraphemeIterator,
- nextCharLength,
- prevCharLength,
- getCharContainingOffset,
- containsRTL,
- isBasicASCII,
- UNUSUAL_LINE_TERMINATORS,
- containsUnusualLineTerminators,
- isFullWidthCharacter,
- isEmojiImprecise,
- UTF8_BOM_CHARACTER,
- startsWithUTF8BOM,
- containsUppercaseCharacter,
- singleLetterHash,
- getLeftDeleteOffset,
- noBreakWhitespace,
- InvisibleCharacters,
- init_strings,
- logOnceWebWorkerWarning,
- SimpleWorkerClient,
- SimpleWorkerServer,
- hash,
- doHash,
- StringSHA1,
- init_hash,
- LcsDiff,
- posix,
- normalize,
- resolve,
- relative,
- dirname,
- basename,
- extname,
- sep,
- init_path,
- URI,
- uriToFsPath,
- init_uri,
- Position,
- init_position,
- Range,
- init_range,
- tail,
- tail2,
- equals2,
- removeFastWithoutKeepingOrder,
- binarySearch,
- findFirstInSorted,
- quickSelect,
- groupBy,
- coalesce,
- coalesceInPlace,
- isFalsyOrEmpty,
- isNonEmptyArray,
- distinct,
- findLast,
- firstOrDefault,
- range,
- arrayInsert,
- pushToStart,
- pushToEnd,
- pushMany,
- asArray,
- mapFind,
- splice,
- compareBy,
- numberComparator,
- findMaxBy,
- findLastMaxBy,
- findMinBy,
- ArrayQueue,
- CallbackIterable,
- init_arrays,
- toUint8,
- init_uint,
- ConstantTimePrefixSumComputer,
- USUAL_WORD_SEPARATORS,
- DEFAULT_WORD_REGEXP,
- ensureValidWordDefinition,
- getWordAtText,
- init_wordHelper,
- CharacterClassifier,
- CharacterSet,
- init_characterClassifier,
- CancellationToken,
- CancellationTokenSource,
- init_cancellation,
- EVENT_KEY_CODE_MAP,
- IMMUTABLE_CODE_TO_KEY_CODE,
- KeyCodeUtils,
- KeyChord,
- init_keyCodes,
- Selection,
- init_selection,
- getCodiconFontCharacters,
- Codicon,
- init_codicons,
- Token,
- TokenizationResult,
- EncodedTokenizationResult,
- CompletionItemKinds,
- InlineCompletionTriggerKind,
- SelectedSuggestionInfo,
- SignatureHelpTriggerKind,
- DocumentHighlightKind,
- isLocationLink,
- SymbolKinds,
- FoldingRangeKind,
- Command,
- InlayHintKind,
- LazyTokenizationSupport,
- TokenizationRegistry2 as TokenizationRegistry,
- init_languages,
- AccessibilitySupport,
- CodeActionTriggerType,
- CompletionItemInsertTextRule,
- CompletionItemKind,
- CompletionItemTag,
- CompletionTriggerKind,
- ContentWidgetPositionPreference,
- CursorChangeReason,
- DefaultEndOfLine,
- DocumentHighlightKind2,
- EditorAutoIndentStrategy,
- EditorOption,
- EndOfLinePreference,
- EndOfLineSequence,
- GlyphMarginLane,
- IndentAction,
- InjectedTextCursorStops,
- InlayHintKind2,
- InlineCompletionTriggerKind2,
- MinimapPosition,
- MouseTargetType,
- OverlayWidgetPositionPreference,
- OverviewRulerLane,
- PositionAffinity,
- RenderLineNumbersType,
- RenderMinimap,
- ScrollType,
- ScrollbarVisibility,
- SignatureHelpTriggerKind2,
- SymbolKind,
- SymbolTag,
- TextEditorCursorBlinkingStyle,
- TextEditorCursorStyle,
- TrackedRangeStickiness,
- WrappingIndent,
- createMonacoBaseAPI,
- getMapForWordSeparators,
- init_wordCharacterClassifier,
- OverviewRulerLane2,
- GlyphMarginLane2,
- MinimapPosition2,
- InjectedTextCursorStops2,
- TextModelResolvedOptions,
- FindMatch,
- isITextSnapshot,
- ValidAnnotatedEditOperation,
- ApplyEditsResult,
- shouldSynchronizeModel,
- init_model,
- SearchParams,
- createFindMatch,
- TextModelSearch,
- isValidMatch,
- Searcher,
- init_textModelSearch,
- ok,
- assertNever,
- init_assert,
- UnicodeTextModelHighlighter,
- LineRangeMapping,
- RangeMapping,
- LineRange,
- init_lineRange,
- OffsetRange,
- init_offsetRange,
- RGBA,
- HSVA,
- Color,
- init_color,
- EditorSimpleWorker
- };
- //# sourceMappingURL=chunk-FBUDSZGC.js.map
|