@wrongstack/webui 1.0.4 → 1.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/dist/assets/AgentRosterView-Cat9dDuY.js +12 -0
  2. package/dist/assets/AnalyticsDashboard-BAC5fpQO.js +1 -0
  3. package/dist/assets/AudienceMemoryPanel-BOaFRWeR.js +3 -0
  4. package/dist/assets/ChangesView-D0oqt9WQ.js +1 -0
  5. package/dist/assets/ChimeraReviewsView-xYqbuZGK.js +1 -0
  6. package/dist/assets/ChronicleDashboard-BDaOO8qg.js +1 -0
  7. package/dist/assets/CodeEditor-BgJIgzjz.js +2 -0
  8. package/dist/assets/CodeMap-D47WG8ZE.js +1 -0
  9. package/dist/assets/CronJobsPanel-oxmSB2ni.js +1 -0
  10. package/dist/assets/{DeadCodeScanPanel-CSr2alPo.js → DeadCodeScanPanel-DAOBcPPB.js} +1 -1
  11. package/dist/assets/{DebugDashboard-Ctw40UDW.js → DebugDashboard-P6-449d1.js} +1 -1
  12. package/dist/assets/DesignGalleryView-BUYdq9xj.js +1 -0
  13. package/dist/assets/GoalView-DfVrI8Br.js +1 -0
  14. package/dist/assets/KanbanView-DYzC0SvN.js +3 -0
  15. package/dist/assets/MailboxDetailView-CidOf8tE.js +1 -0
  16. package/dist/assets/MemoryDrawer-D2iiRUm3.js +1 -0
  17. package/dist/assets/MemoryManager-ajwrcppd.js +1 -0
  18. package/dist/assets/ProcessMonitor-D4q3YZ99.js +1 -0
  19. package/dist/assets/PromptJournalView-BRTW81Ev.js +1 -0
  20. package/dist/assets/QueuePanel--kMl1y82.js +1 -0
  21. package/dist/assets/RefreshDebugView-Dty8h6nr.js +1 -0
  22. package/dist/assets/RepositoryHistoryView-DGlHg9K7.js +2 -0
  23. package/dist/assets/{RequirementIntakeView-BkztR0C2.js → RequirementIntakeView-DXimEE5N.js} +1 -1
  24. package/dist/assets/SageTabs-DC4wv_Gu.js +2 -0
  25. package/dist/assets/{SddFlowGraph-dcuamshO.js → SddFlowGraph-BNd4F2pW.js} +1 -1
  26. package/dist/assets/SddHub-Dfsg4kpC.js +2 -0
  27. package/dist/assets/SessionInspectView-CFKKgcpn.js +1 -0
  28. package/dist/assets/SessionList-C_5GxI2E.js +1 -0
  29. package/dist/assets/SessionsDashboard-yTvoFIQH.js +1 -0
  30. package/dist/assets/SetupScreen-BCgcO4L-.js +1 -0
  31. package/dist/assets/SkillDetailView-BZ-xB1C6.js +3 -0
  32. package/dist/assets/TechStackView-DPmmgBtE.js +2 -0
  33. package/dist/assets/TerminalPanel-Cjineyx0.js +1 -0
  34. package/dist/assets/{activity-KXlU1-QD.js → activity-B6W4JEPC.js} +6 -6
  35. package/dist/assets/{activity-ClXUH80G.js → activity-BYWZhxvD.js} +6 -6
  36. package/dist/assets/{activity-B9cZQdVv.js → activity-C2ThLEx6.js} +6 -6
  37. package/dist/assets/{activity-ByjzcTzj.js → activity-Co3aH0eV.js} +6 -6
  38. package/dist/assets/{activity-DBsqMkAC.js → activity-D8QpThnB.js} +6 -6
  39. package/dist/assets/{activity-PRYzlsxa.js → activity-DBzijhvU.js} +6 -6
  40. package/dist/assets/{activity-DFMEXTAP.js → activity-DaNFfhdh.js} +6 -6
  41. package/dist/assets/{button-Bv5PYkY5.js → button-CN_h6kNT.js} +1 -1
  42. package/dist/assets/chat-store-Dl3XHXs8.js +1 -0
  43. package/dist/assets/codemap-activity-store-RqE4L9Os.js +1 -0
  44. package/dist/assets/common-5rSj2oHt.js +1 -0
  45. package/dist/assets/common-B5Uslzr2.js +1 -0
  46. package/dist/assets/common-BnhmJl6b.js +1 -0
  47. package/dist/assets/{common-BBHmIHQW.js → common-CmkkiJUR.js} +1 -1
  48. package/dist/assets/common-CpZ-DoXd.js +1 -0
  49. package/dist/assets/common-Ct-Iodid.js +1 -0
  50. package/dist/assets/common-D9w3BalB.js +1 -0
  51. package/dist/assets/config-store-Dq6MhrIA.js +22 -0
  52. package/dist/assets/{dialog-DyGu9hTX.js → dialog-DNsBc-EF.js} +1 -1
  53. package/dist/assets/{empty-state-Dy__H8vX.js → empty-state-BFPCt03_.js} +1 -1
  54. package/dist/assets/i18n-CRIAwjnX.js +3 -0
  55. package/dist/assets/index-BI1MMjfc.js +170 -0
  56. package/dist/assets/index-DO49jK02.css +1 -0
  57. package/dist/assets/{input-DdFYcw53.js → input-BnTFqRjn.js} +1 -1
  58. package/dist/assets/mailbox-store-CV5--Nmh.js +1 -0
  59. package/dist/assets/{markdown-BzXmcdZg.js → markdown-BzOXYqOo.js} +2 -2
  60. package/dist/assets/{monaco-LhToOuuW.js → monaco-COtIgMfE.js} +4 -4
  61. package/dist/assets/{monaco-theme-BOzs6u2L.js → monaco-theme-ruX2YdTu.js} +1 -1
  62. package/dist/assets/react-core-wiHys0m2.js +9 -0
  63. package/dist/assets/roster-ws-BviY2gOb.js +1 -0
  64. package/dist/assets/{shared-hOwESeA9.js → shared-h0I65HLY.js} +1 -1
  65. package/dist/assets/stores-BOo4b1ZG.js +7 -0
  66. package/dist/assets/{ts.worker-Dj4vg72D.js → ts.worker-9_CJKYKz.js} +16 -16
  67. package/dist/assets/ui-store-D2CzZVyU.js +1 -0
  68. package/dist/assets/utils-sO9lidp6.js +1 -0
  69. package/dist/assets/{vector-memory-panel-BK3Q4TEg.js → vector-memory-panel-BtQElVO4.js} +1 -1
  70. package/dist/assets/{vendor-CkMYDhDf.js → vendor-Cvuk-OYN.js} +27 -27
  71. package/dist/assets/view-navigation-Ca7VJMhX.js +1 -0
  72. package/dist/assets/{xyflow-BlkaZTzI.js → xyflow-BqDBClm9.js} +1 -1
  73. package/dist/components/ConfirmDialog.d.ts +4 -0
  74. package/dist/components/activity-bar/index.d.ts +29 -1
  75. package/dist/hooks/useDesktopBridge.d.ts +3 -1
  76. package/dist/hooks/ws-handlers/chat-handlers.d.ts +1 -0
  77. package/dist/index.html +19 -14
  78. package/dist/index.js +8121 -7670
  79. package/dist/lib/desktop-host.d.ts +3 -0
  80. package/dist/lib/ws-client.d.ts +4 -4
  81. package/dist/stores/chat-lanes.d.ts +1 -0
  82. package/dist/stores/ui-store-types.d.ts +17 -0
  83. package/dist/types/runtime.d.ts +11 -0
  84. package/dist/types/server-message.d.ts +2 -2
  85. package/package.json +9 -9
  86. package/dist/assets/AgentRosterView-CoD9SgNh.js +0 -12
  87. package/dist/assets/AnalyticsDashboard-SAH8yxTa.js +0 -1
  88. package/dist/assets/AudienceMemoryPanel-C_JHPr_q.js +0 -3
  89. package/dist/assets/ChangesView-BRdNlV9e.js +0 -1
  90. package/dist/assets/ChimeraReviewsView-B8ecsRM9.js +0 -1
  91. package/dist/assets/ChronicleDashboard-B2qq4Ax7.js +0 -1
  92. package/dist/assets/CodeEditor-B-zhjWYw.js +0 -2
  93. package/dist/assets/CodeMap-BgOJwRYK.js +0 -1
  94. package/dist/assets/CronJobsPanel-CsbjBcuL.js +0 -1
  95. package/dist/assets/DesignGalleryView-DFMq7qzt.js +0 -1
  96. package/dist/assets/GoalView-CHO3i5LQ.js +0 -1
  97. package/dist/assets/KanbanView-DxCgCuzq.js +0 -3
  98. package/dist/assets/MailboxDetailView-CjOZymFt.js +0 -1
  99. package/dist/assets/MemoryDrawer-DlTa24j0.js +0 -1
  100. package/dist/assets/MemoryManager-BvhuaBnp.js +0 -1
  101. package/dist/assets/ProcessMonitor-BB1j59e7.js +0 -1
  102. package/dist/assets/PromptJournalView-BxhsHl73.js +0 -1
  103. package/dist/assets/QueuePanel-SirB3W9f.js +0 -1
  104. package/dist/assets/RefreshDebugView-DVUmjUXS.js +0 -1
  105. package/dist/assets/RepositoryHistoryView-Cr-UBUel.js +0 -2
  106. package/dist/assets/SageTabs-Bb04xdXQ.js +0 -2
  107. package/dist/assets/SddHub-E6nNmKTl.js +0 -2
  108. package/dist/assets/SessionInspectView-M3HH5k-z.js +0 -1
  109. package/dist/assets/SessionList-BkRdBhqJ.js +0 -1
  110. package/dist/assets/SessionsDashboard-BW_sONY5.js +0 -1
  111. package/dist/assets/SetupScreen-CoQOGYNC.js +0 -1
  112. package/dist/assets/SkillDetailView-3YHXo_2F.js +0 -3
  113. package/dist/assets/TechStackView-Bs8OpeDl.js +0 -2
  114. package/dist/assets/TerminalPanel-Mv04uw-A.js +0 -1
  115. package/dist/assets/common-C3PzxyXg.js +0 -1
  116. package/dist/assets/common-CUWL8eNX.js +0 -1
  117. package/dist/assets/common-CvSB5NM3.js +0 -1
  118. package/dist/assets/common-DT2FL9xN.js +0 -1
  119. package/dist/assets/common-DuR5FTPN.js +0 -1
  120. package/dist/assets/common-xPePelft.js +0 -1
  121. package/dist/assets/i18n-CEYnEdVi.js +0 -2
  122. package/dist/assets/index-VSjrOYGx.css +0 -1
  123. package/dist/assets/index-r9OdFrxf.js +0 -176
  124. package/dist/assets/react-core-D0Ec-185.js +0 -9
  125. package/dist/assets/roster-ws-BDcOlcE2.js +0 -1
  126. package/dist/assets/ui-store-vtaLeTKu.js +0 -1
  127. package/dist/assets/utils-YeTxmVPQ.js +0 -1
  128. package/dist/assets/ws-client-BG2ZSPmv.js +0 -22
@@ -1,4 +1,4 @@
1
- import{n as e,r as t}from"./rolldown-runtime-hePW80VL.js";import{i as n}from"./react-core-D0Ec-185.js";import{t as r}from"./vite-preload-Czpn1I53.js";var i=e({conf:()=>a,language:()=>o}),a={comments:{lineComment:`*`},brackets:[[`[`,`]`],[`(`,`)`]]},o={defaultToken:`invalid`,ignoreCase:!0,tokenPostfix:`.abap`,keywords:`abap-source.abbreviated.abstract.accept.accepting.according.activation.actual.add.add-corresponding.adjacent.after.alias.aliases.align.all.allocate.alpha.analysis.analyzer.and.append.appendage.appending.application.archive.area.arithmetic.as.ascending.aspect.assert.assign.assigned.assigning.association.asynchronous.at.attributes.authority.authority-check.avg.back.background.backup.backward.badi.base.before.begin.between.big.binary.bintohex.bit.black.blank.blanks.blob.block.blocks.blue.bound.boundaries.bounds.boxed.break-point.buffer.by.bypassing.byte.byte-order.call.calling.case.cast.casting.catch.center.centered.chain.chain-input.chain-request.change.changing.channels.character.char-to-hex.check.checkbox.ci_.circular.class.class-coding.class-data.class-events.class-methods.class-pool.cleanup.clear.client.clob.clock.close.coalesce.code.coding.col_background.col_group.col_heading.col_key.col_negative.col_normal.col_positive.col_total.collect.color.column.columns.comment.comments.commit.common.communication.comparing.component.components.compression.compute.concat.concat_with_space.concatenate.cond.condense.condition.connect.connection.constants.context.contexts.continue.control.controls.conv.conversion.convert.copies.copy.corresponding.country.cover.cpi.create.creating.critical.currency.currency_conversion.current.cursor.cursor-selection.customer.customer-function.dangerous.data.database.datainfo.dataset.date.dats_add_days.dats_add_months.dats_days_between.dats_is_valid.daylight.dd/mm/yy.dd/mm/yyyy.ddmmyy.deallocate.decimal_shift.decimals.declarations.deep.default.deferred.define.defining.definition.delete.deleting.demand.department.descending.describe.destination.detail.dialog.directory.disconnect.display.display-mode.distinct.divide.divide-corresponding.division.do.dummy.duplicate.duplicates.duration.during.dynamic.dynpro.edit.editor-call.else.elseif.empty.enabled.enabling.encoding.end.endat.endcase.endcatch.endchain.endclass.enddo.endenhancement.end-enhancement-section.endexec.endform.endfunction.endian.endif.ending.endinterface.end-lines.endloop.endmethod.endmodule.end-of-definition.end-of-editing.end-of-file.end-of-page.end-of-selection.endon.endprovide.endselect.end-test-injection.end-test-seam.endtry.endwhile.endwith.engineering.enhancement.enhancement-point.enhancements.enhancement-section.entries.entry.enum.environment.equiv.errormessage.errors.escaping.event.events.exact.except.exception.exceptions.exception-table.exclude.excluding.exec.execute.exists.exit.exit-command.expand.expanding.expiration.explicit.exponent.export.exporting.extend.extended.extension.extract.fail.fetch.field.field-groups.fields.field-symbol.field-symbols.file.filter.filters.filter-table.final.find.first.first-line.fixed-point.fkeq.fkge.flush.font.for.form.format.forward.found.frame.frames.free.friends.from.function.functionality.function-pool.further.gaps.generate.get.giving.gkeq.gkge.global.grant.green.group.groups.handle.handler.harmless.hashed.having.hdb.header.headers.heading.head-lines.help-id.help-request.hextobin.hide.high.hint.hold.hotspot.icon.id.identification.identifier.ids.if.ignore.ignoring.immediately.implementation.implementations.implemented.implicit.import.importing.in.inactive.incl.include.includes.including.increment.index.index-line.infotypes.inheriting.init.initial.initialization.inner.inout.input.insert.instance.instances.instr.intensified.interface.interface-pool.interfaces.internal.intervals.into.inverse.inverted-date.is.iso.job.join.keep.keeping.kernel.key.keys.keywords.kind.language.last.late.layout.leading.leave.left.left-justified.leftplus.leftspace.legacy.length.let.level.levels.like.line.lines.line-count.linefeed.line-selection.line-size.list.listbox.list-processing.little.llang.load.load-of-program.lob.local.locale.locator.logfile.logical.log-point.long.loop.low.lower.lpad.lpi.ltrim.mail.main.major-id.mapping.margin.mark.mask.match.matchcode.max.maximum.medium.members.memory.mesh.message.message-id.messages.messaging.method.methods.min.minimum.minor-id.mm/dd/yy.mm/dd/yyyy.mmddyy.mode.modif.modifier.modify.module.move.move-corresponding.multiply.multiply-corresponding.name.nametab.native.nested.nesting.new.new-line.new-page.new-section.next.no.no-display.no-extension.no-gap.no-gaps.no-grouping.no-heading.no-scrolling.no-sign.no-title.no-topofpage.no-zero.node.nodes.non-unicode.non-unique.not.null.number.object.objects.obligatory.occurrence.occurrences.occurs.of.off.offset.ole.on.only.open.option.optional.options.or.order.other.others.out.outer.output.output-length.overflow.overlay.pack.package.pad.padding.page.pages.parameter.parameters.parameter-table.part.partially.pattern.percentage.perform.performing.person.pf1.pf10.pf11.pf12.pf13.pf14.pf15.pf2.pf3.pf4.pf5.pf6.pf7.pf8.pf9.pf-status.pink.places.pool.pos_high.pos_low.position.pragmas.precompiled.preferred.preserving.primary.print.print-control.priority.private.procedure.process.program.property.protected.provide.public.push.pushbutton.put.queue-only.quickinfo.radiobutton.raise.raising.range.ranges.read.reader.read-only.receive.received.receiver.receiving.red.redefinition.reduce.reduced.ref.reference.refresh.regex.reject.remote.renaming.replace.replacement.replacing.report.request.requested.reserve.reset.resolution.respecting.responsible.result.results.resumable.resume.retry.return.returncode.returning.returns.right.right-justified.rightplus.rightspace.risk.rmc_communication_failure.rmc_invalid_status.rmc_system_failure.role.rollback.rows.rpad.rtrim.run.sap.sap-spool.saving.scale_preserving.scale_preserving_scientific.scan.scientific.scientific_with_leading_zero.scroll.scroll-boundary.scrolling.search.secondary.seconds.section.select.selection.selections.selection-screen.selection-set.selection-sets.selection-table.select-options.send.separate.separated.set.shared.shift.short.shortdump-id.sign_as_postfix.single.size.skip.skipping.smart.some.sort.sortable.sorted.source.specified.split.spool.spots.sql.sqlscript.stable.stamp.standard.starting.start-of-editing.start-of-selection.state.statement.statements.static.statics.statusinfo.step-loop.stop.structure.structures.style.subkey.submatches.submit.subroutine.subscreen.subtract.subtract-corresponding.suffix.sum.summary.summing.supplied.supply.suppress.switch.switchstates.symbol.syncpoints.syntax.syntax-check.syntax-trace.system-call.system-exceptions.system-exit.tab.tabbed.table.tables.tableview.tabstrip.target.task.tasks.test.testing.test-injection.test-seam.text.textpool.then.throw.time.times.timestamp.timezone.tims_is_valid.title.titlebar.title-lines.to.tokenization.tokens.top-lines.top-of-page.trace-file.trace-table.trailing.transaction.transfer.transformation.translate.transporting.trmac.truncate.truncation.try.tstmp_add_seconds.tstmp_current_utctimestamp.tstmp_is_valid.tstmp_seconds_between.type.type-pool.type-pools.types.uline.unassign.under.unicode.union.unique.unit_conversion.unix.unpack.until.unwind.up.update.upper.user.user-command.using.utf-8.valid.value.value-request.values.vary.varying.verification-message.version.via.view.visible.wait.warning.when.whenever.where.while.width.window.windows.with.with-heading.without.with-title.word.work.write.writer.xml.xsd.yellow.yes.yymmdd.zero.zone.abap_system_timezone.abap_user_timezone.access.action.adabas.adjust_numbers.allow_precision_loss.allowed.amdp.applicationuser.as_geo_json.as400.associations.balance.behavior.breakup.bulk.cds.cds_client.check_before_save.child.clients.corr.corr_spearman.cross.cycles.datn_add_days.datn_add_months.datn_days_between.dats_from_datn.dats_tims_to_tstmp.dats_to_datn.db2.db6.ddl.dense_rank.depth.deterministic.discarding.entities.entity.error.failed.finalize.first_value.fltp_to_dec.following.fractional.full.graph.grouping.hierarchy.hierarchy_ancestors.hierarchy_ancestors_aggregate.hierarchy_descendants.hierarchy_descendants_aggregate.hierarchy_siblings.incremental.indicators.lag.last_value.lead.leaves.like_regexpr.link.locale_sap.lock.locks.many.mapped.matched.measures.median.mssqlnt.multiple.nodetype.ntile.nulls.occurrences_regexpr.one.operations.oracle.orphans.over.parent.parents.partition.pcre.period.pfcg_mapping.preceding.privileged.product.projection.rank.redirected.replace_regexpr.reported.response.responses.root.row.row_number.sap_system_date.save.schema.session.sets.shortdump.siblings.spantree.start.stddev.string_agg.subtotal.sybase.tims_from_timn.tims_to_timn.to_blob.to_clob.total.trace-entry.tstmp_to_dats.tstmp_to_dst.tstmp_to_tims.tstmpl_from_utcl.tstmpl_to_utcl.unbounded.utcl_add_seconds.utcl_current.utcl_seconds_between.uuid.var.verbatim`.split(`.`),builtinFunctions:`abs.acos.asin.atan.bit-set.boolc.boolx.ceil.char_off.charlen.cmax.cmin.concat_lines_of.contains.contains_any_not_of.contains_any_of.cos.cosh.count.count_any_not_of.count_any_of.dbmaxlen.distance.escape.exp.find_any_not_of.find_any_of.find_end.floor.frac.from_mixed.ipow.line_exists.line_index.log.log10.matches.nmax.nmin.numofchar.repeat.rescale.reverse.round.segment.shift_left.shift_right.sign.sin.sinh.sqrt.strlen.substring.substring_after.substring_before.substring_from.substring_to.tan.tanh.to_lower.to_mixed.to_upper.trunc.utclong_add.utclong_current.utclong_diff.xsdbool.xstrlen`.split(`.`),typeKeywords:`b.c.d.decfloat16.decfloat34.f.i.int8.n.p.s.string.t.utclong.x.xstring.any.clike.csequence.decfloat.numeric.simple.xsequence.accp.char.clnt.cuky.curr.datn.dats.d16d.d16n.d16r.d34d.d34n.d34r.dec.df16_dec.df16_raw.df34_dec.df34_raw.fltp.geom_ewkb.int1.int2.int4.lang.lchr.lraw.numc.quan.raw.rawstring.sstring.timn.tims.unit.utcl.df16_scl.df34_scl.prec.varc.abap_bool.abap_false.abap_true.abap_undefined.me.screen.space.super.sy.syst.table_line.*sys*`.split(`.`),builtinMethods:[`class_constructor`,`constructor`],derivedTypes:[`%CID`,`%CID_REF`,`%CONTROL`,`%DATA`,`%ELEMENT`,`%FAIL`,`%KEY`,`%MSG`,`%PARAM`,`%PID`,`%PID_ASSOC`,`%PID_PARENT`,`%_HINTS`],cdsLanguage:[`@AbapAnnotation`,`@AbapCatalog`,`@AccessControl`,`@API`,`@ClientDependent`,`@ClientHandling`,`@CompatibilityContract`,`@DataAging`,`@EndUserText`,`@Environment`,`@LanguageDependency`,`@MappingRole`,`@Metadata`,`@MetadataExtension`,`@ObjectModel`,`@Scope`,`@Semantics`,`$EXTENSION`,`$SELF`],selectors:[`->`,`->*`,`=>`,`~`,`~*`],operators:` +. -./.*.**.div.mod.=.#.@.+=.-=.*=./=.**=.&&=.?=.&.&&.bit-and.bit-not.bit-or.bit-xor.m.o.z.<. >.<=.>=.<>.><.=<.=>.bt.byte-ca.byte-cn.byte-co.byte-cs.byte-na.byte-ns.ca.cn.co.cp.cs.eq.ge.gt.le.lt.na.nb.ne.np.ns.*/.*:.--./*.//`.split(`.`),symbols:/[=><!~?&+\-*\/\^%#@]+/,tokenizer:{root:[[/[a-z_\/$%@]([\w\/$%]|-(?!>))*/,{cases:{"@typeKeywords":`type`,"@keywords":`keyword`,"@cdsLanguage":`annotation`,"@derivedTypes":`type`,"@builtinFunctions":`type`,"@builtinMethods":`type`,"@operators":`key`,"@default":`identifier`}}],[/<[\w]+>/,`identifier`],[/##[\w|_]+/,`comment`],{include:`@whitespace`},[/[:,.]/,`delimiter`],[/[{}()\[\]]/,`@brackets`],[/@symbols/,{cases:{"@selectors":`tag`,"@operators":`key`,"@default":``}}],[/'/,{token:`string`,bracket:`@open`,next:`@stringquote`}],[/`/,{token:`string`,bracket:`@open`,next:`@stringping`}],[/\|/,{token:`string`,bracket:`@open`,next:`@stringtemplate`}],[/\d+/,`number`]],stringtemplate:[[/[^\\\|]+/,`string`],[/\\\|/,`string`],[/\|/,{token:`string`,bracket:`@close`,next:`@pop`}]],stringping:[[/[^\\`]+/,`string`],[/`/,{token:`string`,bracket:`@close`,next:`@pop`}]],stringquote:[[/[^\\']+/,`string`],[/'/,{token:`string`,bracket:`@close`,next:`@pop`}]],whitespace:[[/[ \t\r\n]+/,``],[/^\*.*$/,`comment`],[/\".*$/,`comment`]]}},s=e({conf:()=>c,language:()=>f}),c={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:`//`,blockComment:[`/*`,`*/`]},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`},{open:`<`,close:`>`}],folding:{markers:{start:RegExp(`^\\s*//\\s*(?:(?:#?region\\b)|(?:<editor-fold\\b))`),end:RegExp(`^\\s*//\\s*(?:(?:#?endregion\\b)|(?:</editor-fold>))`)}}},l=`abstract.activate.and.any.array.as.asc.assert.autonomous.begin.bigdecimal.blob.boolean.break.bulk.by.case.cast.catch.char.class.collect.commit.const.continue.convertcurrency.decimal.default.delete.desc.do.double.else.end.enum.exception.exit.export.extends.false.final.finally.float.for.from.future.get.global.goto.group.having.hint.if.implements.import.in.inner.insert.instanceof.int.interface.into.join.last_90_days.last_month.last_n_days.last_week.like.limit.list.long.loop.map.merge.native.new.next_90_days.next_month.next_n_days.next_week.not.null.nulls.number.object.of.on.or.outer.override.package.parallel.pragma.private.protected.public.retrieve.return.returning.rollback.savepoint.search.select.set.short.sort.stat.static.strictfp.super.switch.synchronized.system.testmethod.then.this.this_month.this_week.throw.throws.today.tolabel.tomorrow.transaction.transient.trigger.true.try.type.undelete.update.upsert.using.virtual.void.volatile.webservice.when.where.while.yesterday`.split(`.`),u=e=>e.charAt(0).toUpperCase()+e.substr(1),d=[];l.forEach(e=>{d.push(e),d.push(e.toUpperCase()),d.push(u(e))});var f={defaultToken:``,tokenPostfix:`.apex`,keywords:d,operators:`=.>.<.!.~.?.:.==.<=.>=.!=.&&.||.++.--.+.-.*./.&.|.^.%.<<.>>.>>>.+=.-=.*=./=.&=.|=.^=.%=.<<=.>>=.>>>=`.split(`.`),symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\d+(_+\d+)*/,octaldigits:/[0-7]+(_+[0-7]+)*/,binarydigits:/[0-1]+(_+[0-1]+)*/,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,tokenizer:{root:[[/[a-z_$][\w$]*/,{cases:{"@keywords":{token:`keyword.$0`},"@default":`identifier`}}],[/[A-Z][\w\$]*/,{cases:{"@keywords":{token:`keyword.$0`},"@default":`type.identifier`}}],{include:`@whitespace`},[/[{}()\[\]]/,`@brackets`],[/[<>](?!@symbols)/,`@brackets`],[/@symbols/,{cases:{"@operators":`delimiter`,"@default":``}}],[/@\s*[a-zA-Z_\$][\w\$]*/,`annotation`],[/(@digits)[eE]([\-+]?(@digits))?[fFdD]?/,`number.float`],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?[fFdD]?/,`number.float`],[/(@digits)[fFdD]/,`number.float`],[/(@digits)[lL]?/,`number`],[/[;,.]/,`delimiter`],[/"([^"\\]|\\.)*$/,`string.invalid`],[/'([^'\\]|\\.)*$/,`string.invalid`],[/"/,`string`,`@string."`],[/'/,`string`,`@string.'`],[/'[^\\']'/,`string`],[/(')(@escapes)(')/,[`string`,`string.escape`,`string`]],[/'/,`string.invalid`]],whitespace:[[/[ \t\r\n]+/,``],[/\/\*\*(?!\/)/,`comment.doc`,`@apexdoc`],[/\/\*/,`comment`,`@comment`],[/\/\/.*$/,`comment`]],comment:[[/[^\/*]+/,`comment`],[/\*\//,`comment`,`@pop`],[/[\/*]/,`comment`]],apexdoc:[[/[^\/*]+/,`comment.doc`],[/\*\//,`comment.doc`,`@pop`],[/[\/*]/,`comment.doc`]],string:[[/[^\\"']+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/["']/,{cases:{"$#==$S2":{token:`string`,next:`@pop`},"@default":`string`}}]]}},p=e({conf:()=>m,language:()=>h}),m={comments:{lineComment:`#`}},h={defaultToken:`keyword`,ignoreCase:!0,tokenPostfix:`.azcli`,str:/[^#\s]/,tokenizer:{root:[{include:`@comment`},[/\s-+@str*\s*/,{cases:{"@eos":{token:`key.identifier`,next:`@popall`},"@default":{token:`key.identifier`,next:`@type`}}}],[/^-+@str*\s*/,{cases:{"@eos":{token:`key.identifier`,next:`@popall`},"@default":{token:`key.identifier`,next:`@type`}}}]],type:[{include:`@comment`},[/-+@str*\s*/,{cases:{"@eos":{token:`key.identifier`,next:`@popall`},"@default":`key.identifier`}}],[/@str+\s*/,{cases:{"@eos":{token:`string`,next:`@popall`},"@default":`string`}}]],comment:[[/#.*$/,{cases:{"@eos":{token:`comment`,next:`@popall`}}}]]}},g=e({conf:()=>_,language:()=>v}),_={comments:{lineComment:`REM`},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`}],surroundingPairs:[{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`}],folding:{markers:{start:RegExp(`^\\s*(::\\s*|REM\\s+)#region`),end:RegExp(`^\\s*(::\\s*|REM\\s+)#endregion`)}}},v={defaultToken:``,ignoreCase:!0,tokenPostfix:`.bat`,brackets:[{token:`delimiter.bracket`,open:`{`,close:`}`},{token:`delimiter.parenthesis`,open:`(`,close:`)`},{token:`delimiter.square`,open:`[`,close:`]`}],keywords:/call|defined|echo|errorlevel|exist|for|goto|if|pause|set|shift|start|title|not|pushd|popd/,symbols:/[=><!~?&|+\-*\/\^;\.,]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/^(\s*)(rem(?:\s.*|))$/,[``,`comment`]],[/(\@?)(@keywords)(?!\w)/,[{token:`keyword`},{token:`keyword.$2`}]],[/[ \t\r\n]+/,``],[/setlocal(?!\w)/,`keyword.tag-setlocal`],[/endlocal(?!\w)/,`keyword.tag-setlocal`],[/[a-zA-Z_]\w*/,``],[/:\w*/,`metatag`],[/%[^%]+%/,`variable`],[/%%[\w]+(?!\w)/,`variable`],[/[{}()\[\]]/,`@brackets`],[/@symbols/,`delimiter`],[/\d*\.\d+([eE][\-+]?\d+)?/,`number.float`],[/0[xX][0-9a-fA-F_]*[0-9a-fA-F]/,`number.hex`],[/\d+/,`number`],[/[;,.]/,`delimiter`],[/"/,`string`,`@string."`],[/'/,`string`,`@string.'`]],string:[[/[^\\"'%]+/,{cases:{"@eos":{token:`string`,next:`@popall`},"@default":`string`}}],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/%[\w ]+%/,`variable`],[/%%[\w]+(?!\w)/,`variable`],[/["']/,{cases:{"$#==$S2":{token:`string`,next:`@pop`},"@default":`string`}}],[/$/,`string`,`@popall`]]}},y=e({conf:()=>te,language:()=>ne}),b=(e=>`\\b${e}\\b`)(`[_a-zA-Z][_a-zA-Z0-9]*`),x=[`targetScope`,`resource`,`module`,`param`,`var`,`output`,`for`,`in`,`if`,`existing`],S=[`true`,`false`,`null`],C=`[ \\t\\r\\n]`,ee=`[0-9]+`,te={comments:{lineComment:`//`,blockComment:[`/*`,`*/`]},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`'`,close:`'`},{open:`'''`,close:`'''`}],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`'`,close:`'`,notIn:[`string`,`comment`]},{open:`'''`,close:`'''`,notIn:[`string`,`comment`]}],autoCloseBefore:`:.,=}])'
1
+ import{n as e,r as t}from"./rolldown-runtime-hePW80VL.js";import{i as n}from"./react-core-wiHys0m2.js";import{t as r}from"./vite-preload-Czpn1I53.js";var i=e({conf:()=>a,language:()=>o}),a={comments:{lineComment:`*`},brackets:[[`[`,`]`],[`(`,`)`]]},o={defaultToken:`invalid`,ignoreCase:!0,tokenPostfix:`.abap`,keywords:`abap-source.abbreviated.abstract.accept.accepting.according.activation.actual.add.add-corresponding.adjacent.after.alias.aliases.align.all.allocate.alpha.analysis.analyzer.and.append.appendage.appending.application.archive.area.arithmetic.as.ascending.aspect.assert.assign.assigned.assigning.association.asynchronous.at.attributes.authority.authority-check.avg.back.background.backup.backward.badi.base.before.begin.between.big.binary.bintohex.bit.black.blank.blanks.blob.block.blocks.blue.bound.boundaries.bounds.boxed.break-point.buffer.by.bypassing.byte.byte-order.call.calling.case.cast.casting.catch.center.centered.chain.chain-input.chain-request.change.changing.channels.character.char-to-hex.check.checkbox.ci_.circular.class.class-coding.class-data.class-events.class-methods.class-pool.cleanup.clear.client.clob.clock.close.coalesce.code.coding.col_background.col_group.col_heading.col_key.col_negative.col_normal.col_positive.col_total.collect.color.column.columns.comment.comments.commit.common.communication.comparing.component.components.compression.compute.concat.concat_with_space.concatenate.cond.condense.condition.connect.connection.constants.context.contexts.continue.control.controls.conv.conversion.convert.copies.copy.corresponding.country.cover.cpi.create.creating.critical.currency.currency_conversion.current.cursor.cursor-selection.customer.customer-function.dangerous.data.database.datainfo.dataset.date.dats_add_days.dats_add_months.dats_days_between.dats_is_valid.daylight.dd/mm/yy.dd/mm/yyyy.ddmmyy.deallocate.decimal_shift.decimals.declarations.deep.default.deferred.define.defining.definition.delete.deleting.demand.department.descending.describe.destination.detail.dialog.directory.disconnect.display.display-mode.distinct.divide.divide-corresponding.division.do.dummy.duplicate.duplicates.duration.during.dynamic.dynpro.edit.editor-call.else.elseif.empty.enabled.enabling.encoding.end.endat.endcase.endcatch.endchain.endclass.enddo.endenhancement.end-enhancement-section.endexec.endform.endfunction.endian.endif.ending.endinterface.end-lines.endloop.endmethod.endmodule.end-of-definition.end-of-editing.end-of-file.end-of-page.end-of-selection.endon.endprovide.endselect.end-test-injection.end-test-seam.endtry.endwhile.endwith.engineering.enhancement.enhancement-point.enhancements.enhancement-section.entries.entry.enum.environment.equiv.errormessage.errors.escaping.event.events.exact.except.exception.exceptions.exception-table.exclude.excluding.exec.execute.exists.exit.exit-command.expand.expanding.expiration.explicit.exponent.export.exporting.extend.extended.extension.extract.fail.fetch.field.field-groups.fields.field-symbol.field-symbols.file.filter.filters.filter-table.final.find.first.first-line.fixed-point.fkeq.fkge.flush.font.for.form.format.forward.found.frame.frames.free.friends.from.function.functionality.function-pool.further.gaps.generate.get.giving.gkeq.gkge.global.grant.green.group.groups.handle.handler.harmless.hashed.having.hdb.header.headers.heading.head-lines.help-id.help-request.hextobin.hide.high.hint.hold.hotspot.icon.id.identification.identifier.ids.if.ignore.ignoring.immediately.implementation.implementations.implemented.implicit.import.importing.in.inactive.incl.include.includes.including.increment.index.index-line.infotypes.inheriting.init.initial.initialization.inner.inout.input.insert.instance.instances.instr.intensified.interface.interface-pool.interfaces.internal.intervals.into.inverse.inverted-date.is.iso.job.join.keep.keeping.kernel.key.keys.keywords.kind.language.last.late.layout.leading.leave.left.left-justified.leftplus.leftspace.legacy.length.let.level.levels.like.line.lines.line-count.linefeed.line-selection.line-size.list.listbox.list-processing.little.llang.load.load-of-program.lob.local.locale.locator.logfile.logical.log-point.long.loop.low.lower.lpad.lpi.ltrim.mail.main.major-id.mapping.margin.mark.mask.match.matchcode.max.maximum.medium.members.memory.mesh.message.message-id.messages.messaging.method.methods.min.minimum.minor-id.mm/dd/yy.mm/dd/yyyy.mmddyy.mode.modif.modifier.modify.module.move.move-corresponding.multiply.multiply-corresponding.name.nametab.native.nested.nesting.new.new-line.new-page.new-section.next.no.no-display.no-extension.no-gap.no-gaps.no-grouping.no-heading.no-scrolling.no-sign.no-title.no-topofpage.no-zero.node.nodes.non-unicode.non-unique.not.null.number.object.objects.obligatory.occurrence.occurrences.occurs.of.off.offset.ole.on.only.open.option.optional.options.or.order.other.others.out.outer.output.output-length.overflow.overlay.pack.package.pad.padding.page.pages.parameter.parameters.parameter-table.part.partially.pattern.percentage.perform.performing.person.pf1.pf10.pf11.pf12.pf13.pf14.pf15.pf2.pf3.pf4.pf5.pf6.pf7.pf8.pf9.pf-status.pink.places.pool.pos_high.pos_low.position.pragmas.precompiled.preferred.preserving.primary.print.print-control.priority.private.procedure.process.program.property.protected.provide.public.push.pushbutton.put.queue-only.quickinfo.radiobutton.raise.raising.range.ranges.read.reader.read-only.receive.received.receiver.receiving.red.redefinition.reduce.reduced.ref.reference.refresh.regex.reject.remote.renaming.replace.replacement.replacing.report.request.requested.reserve.reset.resolution.respecting.responsible.result.results.resumable.resume.retry.return.returncode.returning.returns.right.right-justified.rightplus.rightspace.risk.rmc_communication_failure.rmc_invalid_status.rmc_system_failure.role.rollback.rows.rpad.rtrim.run.sap.sap-spool.saving.scale_preserving.scale_preserving_scientific.scan.scientific.scientific_with_leading_zero.scroll.scroll-boundary.scrolling.search.secondary.seconds.section.select.selection.selections.selection-screen.selection-set.selection-sets.selection-table.select-options.send.separate.separated.set.shared.shift.short.shortdump-id.sign_as_postfix.single.size.skip.skipping.smart.some.sort.sortable.sorted.source.specified.split.spool.spots.sql.sqlscript.stable.stamp.standard.starting.start-of-editing.start-of-selection.state.statement.statements.static.statics.statusinfo.step-loop.stop.structure.structures.style.subkey.submatches.submit.subroutine.subscreen.subtract.subtract-corresponding.suffix.sum.summary.summing.supplied.supply.suppress.switch.switchstates.symbol.syncpoints.syntax.syntax-check.syntax-trace.system-call.system-exceptions.system-exit.tab.tabbed.table.tables.tableview.tabstrip.target.task.tasks.test.testing.test-injection.test-seam.text.textpool.then.throw.time.times.timestamp.timezone.tims_is_valid.title.titlebar.title-lines.to.tokenization.tokens.top-lines.top-of-page.trace-file.trace-table.trailing.transaction.transfer.transformation.translate.transporting.trmac.truncate.truncation.try.tstmp_add_seconds.tstmp_current_utctimestamp.tstmp_is_valid.tstmp_seconds_between.type.type-pool.type-pools.types.uline.unassign.under.unicode.union.unique.unit_conversion.unix.unpack.until.unwind.up.update.upper.user.user-command.using.utf-8.valid.value.value-request.values.vary.varying.verification-message.version.via.view.visible.wait.warning.when.whenever.where.while.width.window.windows.with.with-heading.without.with-title.word.work.write.writer.xml.xsd.yellow.yes.yymmdd.zero.zone.abap_system_timezone.abap_user_timezone.access.action.adabas.adjust_numbers.allow_precision_loss.allowed.amdp.applicationuser.as_geo_json.as400.associations.balance.behavior.breakup.bulk.cds.cds_client.check_before_save.child.clients.corr.corr_spearman.cross.cycles.datn_add_days.datn_add_months.datn_days_between.dats_from_datn.dats_tims_to_tstmp.dats_to_datn.db2.db6.ddl.dense_rank.depth.deterministic.discarding.entities.entity.error.failed.finalize.first_value.fltp_to_dec.following.fractional.full.graph.grouping.hierarchy.hierarchy_ancestors.hierarchy_ancestors_aggregate.hierarchy_descendants.hierarchy_descendants_aggregate.hierarchy_siblings.incremental.indicators.lag.last_value.lead.leaves.like_regexpr.link.locale_sap.lock.locks.many.mapped.matched.measures.median.mssqlnt.multiple.nodetype.ntile.nulls.occurrences_regexpr.one.operations.oracle.orphans.over.parent.parents.partition.pcre.period.pfcg_mapping.preceding.privileged.product.projection.rank.redirected.replace_regexpr.reported.response.responses.root.row.row_number.sap_system_date.save.schema.session.sets.shortdump.siblings.spantree.start.stddev.string_agg.subtotal.sybase.tims_from_timn.tims_to_timn.to_blob.to_clob.total.trace-entry.tstmp_to_dats.tstmp_to_dst.tstmp_to_tims.tstmpl_from_utcl.tstmpl_to_utcl.unbounded.utcl_add_seconds.utcl_current.utcl_seconds_between.uuid.var.verbatim`.split(`.`),builtinFunctions:`abs.acos.asin.atan.bit-set.boolc.boolx.ceil.char_off.charlen.cmax.cmin.concat_lines_of.contains.contains_any_not_of.contains_any_of.cos.cosh.count.count_any_not_of.count_any_of.dbmaxlen.distance.escape.exp.find_any_not_of.find_any_of.find_end.floor.frac.from_mixed.ipow.line_exists.line_index.log.log10.matches.nmax.nmin.numofchar.repeat.rescale.reverse.round.segment.shift_left.shift_right.sign.sin.sinh.sqrt.strlen.substring.substring_after.substring_before.substring_from.substring_to.tan.tanh.to_lower.to_mixed.to_upper.trunc.utclong_add.utclong_current.utclong_diff.xsdbool.xstrlen`.split(`.`),typeKeywords:`b.c.d.decfloat16.decfloat34.f.i.int8.n.p.s.string.t.utclong.x.xstring.any.clike.csequence.decfloat.numeric.simple.xsequence.accp.char.clnt.cuky.curr.datn.dats.d16d.d16n.d16r.d34d.d34n.d34r.dec.df16_dec.df16_raw.df34_dec.df34_raw.fltp.geom_ewkb.int1.int2.int4.lang.lchr.lraw.numc.quan.raw.rawstring.sstring.timn.tims.unit.utcl.df16_scl.df34_scl.prec.varc.abap_bool.abap_false.abap_true.abap_undefined.me.screen.space.super.sy.syst.table_line.*sys*`.split(`.`),builtinMethods:[`class_constructor`,`constructor`],derivedTypes:[`%CID`,`%CID_REF`,`%CONTROL`,`%DATA`,`%ELEMENT`,`%FAIL`,`%KEY`,`%MSG`,`%PARAM`,`%PID`,`%PID_ASSOC`,`%PID_PARENT`,`%_HINTS`],cdsLanguage:[`@AbapAnnotation`,`@AbapCatalog`,`@AccessControl`,`@API`,`@ClientDependent`,`@ClientHandling`,`@CompatibilityContract`,`@DataAging`,`@EndUserText`,`@Environment`,`@LanguageDependency`,`@MappingRole`,`@Metadata`,`@MetadataExtension`,`@ObjectModel`,`@Scope`,`@Semantics`,`$EXTENSION`,`$SELF`],selectors:[`->`,`->*`,`=>`,`~`,`~*`],operators:` +. -./.*.**.div.mod.=.#.@.+=.-=.*=./=.**=.&&=.?=.&.&&.bit-and.bit-not.bit-or.bit-xor.m.o.z.<. >.<=.>=.<>.><.=<.=>.bt.byte-ca.byte-cn.byte-co.byte-cs.byte-na.byte-ns.ca.cn.co.cp.cs.eq.ge.gt.le.lt.na.nb.ne.np.ns.*/.*:.--./*.//`.split(`.`),symbols:/[=><!~?&+\-*\/\^%#@]+/,tokenizer:{root:[[/[a-z_\/$%@]([\w\/$%]|-(?!>))*/,{cases:{"@typeKeywords":`type`,"@keywords":`keyword`,"@cdsLanguage":`annotation`,"@derivedTypes":`type`,"@builtinFunctions":`type`,"@builtinMethods":`type`,"@operators":`key`,"@default":`identifier`}}],[/<[\w]+>/,`identifier`],[/##[\w|_]+/,`comment`],{include:`@whitespace`},[/[:,.]/,`delimiter`],[/[{}()\[\]]/,`@brackets`],[/@symbols/,{cases:{"@selectors":`tag`,"@operators":`key`,"@default":``}}],[/'/,{token:`string`,bracket:`@open`,next:`@stringquote`}],[/`/,{token:`string`,bracket:`@open`,next:`@stringping`}],[/\|/,{token:`string`,bracket:`@open`,next:`@stringtemplate`}],[/\d+/,`number`]],stringtemplate:[[/[^\\\|]+/,`string`],[/\\\|/,`string`],[/\|/,{token:`string`,bracket:`@close`,next:`@pop`}]],stringping:[[/[^\\`]+/,`string`],[/`/,{token:`string`,bracket:`@close`,next:`@pop`}]],stringquote:[[/[^\\']+/,`string`],[/'/,{token:`string`,bracket:`@close`,next:`@pop`}]],whitespace:[[/[ \t\r\n]+/,``],[/^\*.*$/,`comment`],[/\".*$/,`comment`]]}},s=e({conf:()=>c,language:()=>f}),c={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:`//`,blockComment:[`/*`,`*/`]},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`},{open:`<`,close:`>`}],folding:{markers:{start:RegExp(`^\\s*//\\s*(?:(?:#?region\\b)|(?:<editor-fold\\b))`),end:RegExp(`^\\s*//\\s*(?:(?:#?endregion\\b)|(?:</editor-fold>))`)}}},l=`abstract.activate.and.any.array.as.asc.assert.autonomous.begin.bigdecimal.blob.boolean.break.bulk.by.case.cast.catch.char.class.collect.commit.const.continue.convertcurrency.decimal.default.delete.desc.do.double.else.end.enum.exception.exit.export.extends.false.final.finally.float.for.from.future.get.global.goto.group.having.hint.if.implements.import.in.inner.insert.instanceof.int.interface.into.join.last_90_days.last_month.last_n_days.last_week.like.limit.list.long.loop.map.merge.native.new.next_90_days.next_month.next_n_days.next_week.not.null.nulls.number.object.of.on.or.outer.override.package.parallel.pragma.private.protected.public.retrieve.return.returning.rollback.savepoint.search.select.set.short.sort.stat.static.strictfp.super.switch.synchronized.system.testmethod.then.this.this_month.this_week.throw.throws.today.tolabel.tomorrow.transaction.transient.trigger.true.try.type.undelete.update.upsert.using.virtual.void.volatile.webservice.when.where.while.yesterday`.split(`.`),u=e=>e.charAt(0).toUpperCase()+e.substr(1),d=[];l.forEach(e=>{d.push(e),d.push(e.toUpperCase()),d.push(u(e))});var f={defaultToken:``,tokenPostfix:`.apex`,keywords:d,operators:`=.>.<.!.~.?.:.==.<=.>=.!=.&&.||.++.--.+.-.*./.&.|.^.%.<<.>>.>>>.+=.-=.*=./=.&=.|=.^=.%=.<<=.>>=.>>>=`.split(`.`),symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\d+(_+\d+)*/,octaldigits:/[0-7]+(_+[0-7]+)*/,binarydigits:/[0-1]+(_+[0-1]+)*/,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,tokenizer:{root:[[/[a-z_$][\w$]*/,{cases:{"@keywords":{token:`keyword.$0`},"@default":`identifier`}}],[/[A-Z][\w\$]*/,{cases:{"@keywords":{token:`keyword.$0`},"@default":`type.identifier`}}],{include:`@whitespace`},[/[{}()\[\]]/,`@brackets`],[/[<>](?!@symbols)/,`@brackets`],[/@symbols/,{cases:{"@operators":`delimiter`,"@default":``}}],[/@\s*[a-zA-Z_\$][\w\$]*/,`annotation`],[/(@digits)[eE]([\-+]?(@digits))?[fFdD]?/,`number.float`],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?[fFdD]?/,`number.float`],[/(@digits)[fFdD]/,`number.float`],[/(@digits)[lL]?/,`number`],[/[;,.]/,`delimiter`],[/"([^"\\]|\\.)*$/,`string.invalid`],[/'([^'\\]|\\.)*$/,`string.invalid`],[/"/,`string`,`@string."`],[/'/,`string`,`@string.'`],[/'[^\\']'/,`string`],[/(')(@escapes)(')/,[`string`,`string.escape`,`string`]],[/'/,`string.invalid`]],whitespace:[[/[ \t\r\n]+/,``],[/\/\*\*(?!\/)/,`comment.doc`,`@apexdoc`],[/\/\*/,`comment`,`@comment`],[/\/\/.*$/,`comment`]],comment:[[/[^\/*]+/,`comment`],[/\*\//,`comment`,`@pop`],[/[\/*]/,`comment`]],apexdoc:[[/[^\/*]+/,`comment.doc`],[/\*\//,`comment.doc`,`@pop`],[/[\/*]/,`comment.doc`]],string:[[/[^\\"']+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/["']/,{cases:{"$#==$S2":{token:`string`,next:`@pop`},"@default":`string`}}]]}},p=e({conf:()=>m,language:()=>h}),m={comments:{lineComment:`#`}},h={defaultToken:`keyword`,ignoreCase:!0,tokenPostfix:`.azcli`,str:/[^#\s]/,tokenizer:{root:[{include:`@comment`},[/\s-+@str*\s*/,{cases:{"@eos":{token:`key.identifier`,next:`@popall`},"@default":{token:`key.identifier`,next:`@type`}}}],[/^-+@str*\s*/,{cases:{"@eos":{token:`key.identifier`,next:`@popall`},"@default":{token:`key.identifier`,next:`@type`}}}]],type:[{include:`@comment`},[/-+@str*\s*/,{cases:{"@eos":{token:`key.identifier`,next:`@popall`},"@default":`key.identifier`}}],[/@str+\s*/,{cases:{"@eos":{token:`string`,next:`@popall`},"@default":`string`}}]],comment:[[/#.*$/,{cases:{"@eos":{token:`comment`,next:`@popall`}}}]]}},g=e({conf:()=>_,language:()=>v}),_={comments:{lineComment:`REM`},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`}],surroundingPairs:[{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`}],folding:{markers:{start:RegExp(`^\\s*(::\\s*|REM\\s+)#region`),end:RegExp(`^\\s*(::\\s*|REM\\s+)#endregion`)}}},v={defaultToken:``,ignoreCase:!0,tokenPostfix:`.bat`,brackets:[{token:`delimiter.bracket`,open:`{`,close:`}`},{token:`delimiter.parenthesis`,open:`(`,close:`)`},{token:`delimiter.square`,open:`[`,close:`]`}],keywords:/call|defined|echo|errorlevel|exist|for|goto|if|pause|set|shift|start|title|not|pushd|popd/,symbols:/[=><!~?&|+\-*\/\^;\.,]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/^(\s*)(rem(?:\s.*|))$/,[``,`comment`]],[/(\@?)(@keywords)(?!\w)/,[{token:`keyword`},{token:`keyword.$2`}]],[/[ \t\r\n]+/,``],[/setlocal(?!\w)/,`keyword.tag-setlocal`],[/endlocal(?!\w)/,`keyword.tag-setlocal`],[/[a-zA-Z_]\w*/,``],[/:\w*/,`metatag`],[/%[^%]+%/,`variable`],[/%%[\w]+(?!\w)/,`variable`],[/[{}()\[\]]/,`@brackets`],[/@symbols/,`delimiter`],[/\d*\.\d+([eE][\-+]?\d+)?/,`number.float`],[/0[xX][0-9a-fA-F_]*[0-9a-fA-F]/,`number.hex`],[/\d+/,`number`],[/[;,.]/,`delimiter`],[/"/,`string`,`@string."`],[/'/,`string`,`@string.'`]],string:[[/[^\\"'%]+/,{cases:{"@eos":{token:`string`,next:`@popall`},"@default":`string`}}],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/%[\w ]+%/,`variable`],[/%%[\w]+(?!\w)/,`variable`],[/["']/,{cases:{"$#==$S2":{token:`string`,next:`@pop`},"@default":`string`}}],[/$/,`string`,`@popall`]]}},y=e({conf:()=>te,language:()=>ne}),b=(e=>`\\b${e}\\b`)(`[_a-zA-Z][_a-zA-Z0-9]*`),x=[`targetScope`,`resource`,`module`,`param`,`var`,`output`,`for`,`in`,`if`,`existing`],S=[`true`,`false`,`null`],C=`[ \\t\\r\\n]`,ee=`[0-9]+`,te={comments:{lineComment:`//`,blockComment:[`/*`,`*/`]},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`'`,close:`'`},{open:`'''`,close:`'''`}],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`'`,close:`'`,notIn:[`string`,`comment`]},{open:`'''`,close:`'''`,notIn:[`string`,`comment`]}],autoCloseBefore:`:.,=}])'
2
2
  `,indentationRules:{increaseIndentPattern:RegExp(`^((?!\\/\\/).)*(\\{[^}"'\`]*|\\([^)"'\`]*|\\[[^\\]"'\`]*)$`),decreaseIndentPattern:RegExp(`^((?!.*?\\/\\*).*\\*/)?\\s*[\\}\\]].*$`)}},ne={defaultToken:``,tokenPostfix:`.bicep`,brackets:[{open:`{`,close:`}`,token:`delimiter.curly`},{open:`[`,close:`]`,token:`delimiter.square`},{open:`(`,close:`)`,token:`delimiter.parenthesis`}],symbols:/[=><!~?:&|+\-*/^%]+/,keywords:x,namedLiterals:S,escapes:"\\\\(u{[0-9A-Fa-f]+}|n|r|t|\\\\|'|\\${)",tokenizer:{root:[{include:`@expression`},{include:`@whitespace`}],stringVerbatim:[{regex:`(|'|'')[^']`,action:{token:`string`}},{regex:`'''`,action:{token:`string.quote`,next:`@pop`}}],stringLiteral:[{regex:"\\${",action:{token:`delimiter.bracket`,next:`@bracketCounting`}},{regex:`[^\\\\'$]+`,action:{token:`string`}},{regex:`@escapes`,action:{token:`string.escape`}},{regex:`\\\\.`,action:{token:`string.escape.invalid`}},{regex:`'`,action:{token:`string`,next:`@pop`}}],bracketCounting:[{regex:`{`,action:{token:`delimiter.bracket`,next:`@bracketCounting`}},{regex:`}`,action:{token:`delimiter.bracket`,next:`@pop`}},{include:`expression`}],comment:[{regex:`[^\\*]+`,action:{token:`comment`}},{regex:`\\*\\/`,action:{token:`comment`,next:`@pop`}},{regex:`[\\/*]`,action:{token:`comment`}}],whitespace:[{regex:C},{regex:`\\/\\*`,action:{token:`comment`,next:`@comment`}},{regex:`\\/\\/.*$`,action:{token:`comment`}}],expression:[{regex:`'''`,action:{token:`string.quote`,next:`@stringVerbatim`}},{regex:`'`,action:{token:`string.quote`,next:`@stringLiteral`}},{regex:ee,action:{token:`number`}},{regex:b,action:{cases:{"@keywords":{token:`keyword`},"@namedLiterals":{token:`keyword`},"@default":{token:`identifier`}}}}]}},re=e({conf:()=>ie,language:()=>ae}),ie={comments:{lineComment:`//`,blockComment:[`(*`,`*)`]},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`],[`<`,`>`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`<`,close:`>`},{open:`'`,close:`'`},{open:`"`,close:`"`},{open:`(*`,close:`*)`}],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`<`,close:`>`},{open:`'`,close:`'`},{open:`"`,close:`"`},{open:`(*`,close:`*)`}]},ae={defaultToken:``,tokenPostfix:`.cameligo`,ignoreCase:!0,brackets:[{open:`{`,close:`}`,token:`delimiter.curly`},{open:`[`,close:`]`,token:`delimiter.square`},{open:`(`,close:`)`,token:`delimiter.parenthesis`},{open:`<`,close:`>`,token:`delimiter.angle`}],keywords:`abs.assert.block.Bytes.case.Crypto.Current.else.failwith.false.for.fun.if.in.let.let%entry.let%init.List.list.Map.map.match.match%nat.mod.not.operation.Operation.of.record.Set.set.sender.skip.source.String.then.to.true.type.with`.split(`.`),typeKeywords:[`int`,`unit`,`string`,`tz`,`nat`,`bool`],operators:[`=`,`>`,`<`,`<=`,`>=`,`<>`,`:`,`:=`,`and`,`mod`,`or`,`+`,`-`,`*`,`/`,`@`,`&`,`^`,`%`,`->`,`<-`,`&&`,`||`],symbols:/[=><:@\^&|+\-*\/\^%]+/,tokenizer:{root:[[/[a-zA-Z_][\w]*/,{cases:{"@keywords":{token:`keyword.$0`},"@default":`identifier`}}],{include:`@whitespace`},[/[{}()\[\]]/,`@brackets`],[/[<>](?!@symbols)/,`@brackets`],[/@symbols/,{cases:{"@operators":`delimiter`,"@default":``}}],[/\d*\.\d+([eE][\-+]?\d+)?/,`number.float`],[/\$[0-9a-fA-F]{1,16}/,`number.hex`],[/\d+/,`number`],[/[;,.]/,`delimiter`],[/'([^'\\]|\\.)*$/,`string.invalid`],[/'/,`string`,`@string`],[/'[^\\']'/,`string`],[/'/,`string.invalid`],[/\#\d+/,`string`]],comment:[[/[^\(\*]+/,`comment`],[/\*\)/,`comment`,`@pop`],[/\(\*/,`comment`]],string:[[/[^\\']+/,`string`],[/\\./,`string.escape.invalid`],[/'/,{token:`string.quote`,bracket:`@close`,next:`@pop`}]],whitespace:[[/[ \t\r\n]+/,`white`],[/\(\*/,`comment`,`@comment`],[/\/\/.*$/,`comment`]]}},oe=e({conf:()=>se,language:()=>ce}),se={comments:{lineComment:`;;`},brackets:[[`[`,`]`],[`(`,`)`],[`{`,`}`]],autoClosingPairs:[{open:`[`,close:`]`},{open:`"`,close:`"`},{open:`(`,close:`)`},{open:`{`,close:`}`}],surroundingPairs:[{open:`[`,close:`]`},{open:`"`,close:`"`},{open:`(`,close:`)`},{open:`{`,close:`}`}]},ce={defaultToken:``,ignoreCase:!0,tokenPostfix:`.clj`,brackets:[{open:`[`,close:`]`,token:`delimiter.square`},{open:`(`,close:`)`,token:`delimiter.parenthesis`},{open:`{`,close:`}`,token:`delimiter.curly`}],constants:[`true`,`false`,`nil`],numbers:/^(?:[+\-]?\d+(?:(?:N|(?:[eE][+\-]?\d+))|(?:\.?\d*(?:M|(?:[eE][+\-]?\d+))?)|\/\d+|[xX][0-9a-fA-F]+|r[0-9a-zA-Z]+)?(?=[\\\[\]\s"#'(),;@^`{}~]|$))/,characters:/^(?:\\(?:backspace|formfeed|newline|return|space|tab|o[0-7]{3}|u[0-9A-Fa-f]{4}|x[0-9A-Fa-f]{4}|.)?(?=[\\\[\]\s"(),;@^`{}~]|$))/,escapes:/^\\(?:["'\\bfnrt]|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,qualifiedSymbols:/^(?:(?:[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*(?:\.[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*)*\/)?(?:\/|[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*)*(?=[\\\[\]\s"(),;@^`{}~]|$))/,specialForms:[`.`,`catch`,`def`,`do`,`if`,`monitor-enter`,`monitor-exit`,`new`,`quote`,`recur`,`set!`,`throw`,`try`,`var`],coreSymbols:`*,*',*1,*2,*3,*agent*,*allow-unresolved-vars*,*assert*,*clojure-version*,*command-line-args*,*compile-files*,*compile-path*,*compiler-options*,*data-readers*,*default-data-reader-fn*,*e,*err*,*file*,*flush-on-newline*,*fn-loader*,*in*,*math-context*,*ns*,*out*,*print-dup*,*print-length*,*print-level*,*print-meta*,*print-namespace-maps*,*print-readably*,*read-eval*,*reader-resolver*,*source-path*,*suppress-read*,*unchecked-math*,*use-context-classloader*,*verbose-defrecords*,*warn-on-reflection*,+,+',-,-',->,->>,->ArrayChunk,->Eduction,->Vec,->VecNode,->VecSeq,-cache-protocol-fn,-reset-methods,..,/,<,<=,=,==,>,>=,EMPTY-NODE,Inst,StackTraceElement->vec,Throwable->map,accessor,aclone,add-classpath,add-watch,agent,agent-error,agent-errors,aget,alength,alias,all-ns,alter,alter-meta!,alter-var-root,amap,ancestors,and,any?,apply,areduce,array-map,as->,aset,aset-boolean,aset-byte,aset-char,aset-double,aset-float,aset-int,aset-long,aset-short,assert,assoc,assoc!,assoc-in,associative?,atom,await,await-for,await1,bases,bean,bigdec,bigint,biginteger,binding,bit-and,bit-and-not,bit-clear,bit-flip,bit-not,bit-or,bit-set,bit-shift-left,bit-shift-right,bit-test,bit-xor,boolean,boolean-array,boolean?,booleans,bound-fn,bound-fn*,bound?,bounded-count,butlast,byte,byte-array,bytes,bytes?,case,cast,cat,char,char-array,char-escape-string,char-name-string,char?,chars,chunk,chunk-append,chunk-buffer,chunk-cons,chunk-first,chunk-next,chunk-rest,chunked-seq?,class,class?,clear-agent-errors,clojure-version,coll?,comment,commute,comp,comparator,compare,compare-and-set!,compile,complement,completing,concat,cond,cond->,cond->>,condp,conj,conj!,cons,constantly,construct-proxy,contains?,count,counted?,create-ns,create-struct,cycle,dec,dec',decimal?,declare,dedupe,default-data-readers,definline,definterface,defmacro,defmethod,defmulti,defn,defn-,defonce,defprotocol,defrecord,defstruct,deftype,delay,delay?,deliver,denominator,deref,derive,descendants,destructure,disj,disj!,dissoc,dissoc!,distinct,distinct?,doall,dorun,doseq,dosync,dotimes,doto,double,double-array,double?,doubles,drop,drop-last,drop-while,eduction,empty,empty?,ensure,ensure-reduced,enumeration-seq,error-handler,error-mode,eval,even?,every-pred,every?,ex-data,ex-info,extend,extend-protocol,extend-type,extenders,extends?,false?,ffirst,file-seq,filter,filterv,find,find-keyword,find-ns,find-protocol-impl,find-protocol-method,find-var,first,flatten,float,float-array,float?,floats,flush,fn,fn?,fnext,fnil,for,force,format,frequencies,future,future-call,future-cancel,future-cancelled?,future-done?,future?,gen-class,gen-interface,gensym,get,get-in,get-method,get-proxy-class,get-thread-bindings,get-validator,group-by,halt-when,hash,hash-combine,hash-map,hash-ordered-coll,hash-set,hash-unordered-coll,ident?,identical?,identity,if-let,if-not,if-some,ifn?,import,in-ns,inc,inc',indexed?,init-proxy,inst-ms,inst-ms*,inst?,instance?,int,int-array,int?,integer?,interleave,intern,interpose,into,into-array,ints,io!,isa?,iterate,iterator-seq,juxt,keep,keep-indexed,key,keys,keyword,keyword?,last,lazy-cat,lazy-seq,let,letfn,line-seq,list,list*,list?,load,load-file,load-reader,load-string,loaded-libs,locking,long,long-array,longs,loop,macroexpand,macroexpand-1,make-array,make-hierarchy,map,map-entry?,map-indexed,map?,mapcat,mapv,max,max-key,memfn,memoize,merge,merge-with,meta,method-sig,methods,min,min-key,mix-collection-hash,mod,munge,name,namespace,namespace-munge,nat-int?,neg-int?,neg?,newline,next,nfirst,nil?,nnext,not,not-any?,not-empty,not-every?,not=,ns,ns-aliases,ns-imports,ns-interns,ns-map,ns-name,ns-publics,ns-refers,ns-resolve,ns-unalias,ns-unmap,nth,nthnext,nthrest,num,number?,numerator,object-array,odd?,or,parents,partial,partition,partition-all,partition-by,pcalls,peek,persistent!,pmap,pop,pop!,pop-thread-bindings,pos-int?,pos?,pr,pr-str,prefer-method,prefers,primitives-classnames,print,print-ctor,print-dup,print-method,print-simple,print-str,printf,println,println-str,prn,prn-str,promise,proxy,proxy-call-with-super,proxy-mappings,proxy-name,proxy-super,push-thread-bindings,pvalues,qualified-ident?,qualified-keyword?,qualified-symbol?,quot,rand,rand-int,rand-nth,random-sample,range,ratio?,rational?,rationalize,re-find,re-groups,re-matcher,re-matches,re-pattern,re-seq,read,read-line,read-string,reader-conditional,reader-conditional?,realized?,record?,reduce,reduce-kv,reduced,reduced?,reductions,ref,ref-history-count,ref-max-history,ref-min-history,ref-set,refer,refer-clojure,reify,release-pending-sends,rem,remove,remove-all-methods,remove-method,remove-ns,remove-watch,repeat,repeatedly,replace,replicate,require,reset!,reset-meta!,reset-vals!,resolve,rest,restart-agent,resultset-seq,reverse,reversible?,rseq,rsubseq,run!,satisfies?,second,select-keys,send,send-off,send-via,seq,seq?,seqable?,seque,sequence,sequential?,set,set-agent-send-executor!,set-agent-send-off-executor!,set-error-handler!,set-error-mode!,set-validator!,set?,short,short-array,shorts,shuffle,shutdown-agents,simple-ident?,simple-keyword?,simple-symbol?,slurp,some,some->,some->>,some-fn,some?,sort,sort-by,sorted-map,sorted-map-by,sorted-set,sorted-set-by,sorted?,special-symbol?,spit,split-at,split-with,str,string?,struct,struct-map,subs,subseq,subvec,supers,swap!,swap-vals!,symbol,symbol?,sync,tagged-literal,tagged-literal?,take,take-last,take-nth,take-while,test,the-ns,thread-bound?,time,to-array,to-array-2d,trampoline,transduce,transient,tree-seq,true?,type,unchecked-add,unchecked-add-int,unchecked-byte,unchecked-char,unchecked-dec,unchecked-dec-int,unchecked-divide-int,unchecked-double,unchecked-float,unchecked-inc,unchecked-inc-int,unchecked-int,unchecked-long,unchecked-multiply,unchecked-multiply-int,unchecked-negate,unchecked-negate-int,unchecked-remainder-int,unchecked-short,unchecked-subtract,unchecked-subtract-int,underive,unquote,unquote-splicing,unreduced,unsigned-bit-shift-right,update,update-in,update-proxy,uri?,use,uuid?,val,vals,var-get,var-set,var?,vary-meta,vec,vector,vector-of,vector?,volatile!,volatile?,vreset!,vswap!,when,when-first,when-let,when-not,when-some,while,with-bindings,with-bindings*,with-in-str,with-loading-context,with-local-vars,with-meta,with-open,with-out-str,with-precision,with-redefs,with-redefs-fn,xml-seq,zero?,zipmap`.split(`,`),tokenizer:{root:[{include:`@whitespace`},[/@numbers/,`number`],[/@characters/,`string`],{include:`@string`},[/[()\[\]{}]/,`@brackets`],[/\/#"(?:\.|(?:")|[^"\n])*"\/g/,`regexp`],[/[#'@^`~]/,`meta`],[/@qualifiedSymbols/,{cases:{"^:.+$":`constant`,"@specialForms":`keyword`,"@coreSymbols":`keyword`,"@constants":`constant`,"@default":`identifier`}}]],whitespace:[[/[\s,]+/,`white`],[/;.*$/,`comment`],[/\(comment\b/,`comment`,`@comment`]],comment:[[/\(/,`comment`,`@push`],[/\)/,`comment`,`@pop`],[/[^()]/,`comment`]],string:[[/"/,`string`,`@multiLineString`]],multiLineString:[[/"/,`string`,`@popall`],[/@escapes/,`string.escape`],[/./,`string`]]}},le=e({conf:()=>ue,language:()=>de}),ue={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#%\^\&\*\(\)\=\$\-\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{blockComment:[`###`,`###`],lineComment:`#`},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],folding:{markers:{start:RegExp(`^\\s*#region\\b`),end:RegExp(`^\\s*#endregion\\b`)}}},de={defaultToken:``,ignoreCase:!0,tokenPostfix:`.coffee`,brackets:[{open:`{`,close:`}`,token:`delimiter.curly`},{open:`[`,close:`]`,token:`delimiter.square`},{open:`(`,close:`)`,token:`delimiter.parenthesis`}],regEx:/\/(?!\/\/)(?:[^\/\\]|\\.)*\/[igm]*/,keywords:`and.or.is.isnt.not.on.yes.@.no.off.true.false.null.this.new.delete.typeof.in.instanceof.return.throw.break.continue.debugger.if.else.switch.for.while.do.try.catch.finally.class.extends.super.undefined.then.unless.until.loop.of.by.when`.split(`.`),symbols:/[=><!~?&%|+\-*\/\^\.,\:]+/,escapes:/\\(?:[abfnrtv\\"'$]|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/\@[a-zA-Z_]\w*/,`variable.predefined`],[/[a-zA-Z_]\w*/,{cases:{this:`variable.predefined`,"@keywords":{token:`keyword.$0`},"@default":``}}],[/[ \t\r\n]+/,``],[/###/,`comment`,`@comment`],[/#.*$/,`comment`],[`///`,{token:`regexp`,next:`@hereregexp`}],[/^(\s*)(@regEx)/,[``,`regexp`]],[/(\()(\s*)(@regEx)/,[`@brackets`,``,`regexp`]],[/(\,)(\s*)(@regEx)/,[`delimiter`,``,`regexp`]],[/(\=)(\s*)(@regEx)/,[`delimiter`,``,`regexp`]],[/(\:)(\s*)(@regEx)/,[`delimiter`,``,`regexp`]],[/(\[)(\s*)(@regEx)/,[`@brackets`,``,`regexp`]],[/(\!)(\s*)(@regEx)/,[`delimiter`,``,`regexp`]],[/(\&)(\s*)(@regEx)/,[`delimiter`,``,`regexp`]],[/(\|)(\s*)(@regEx)/,[`delimiter`,``,`regexp`]],[/(\?)(\s*)(@regEx)/,[`delimiter`,``,`regexp`]],[/(\{)(\s*)(@regEx)/,[`@brackets`,``,`regexp`]],[/(\;)(\s*)(@regEx)/,[``,``,`regexp`]],[/}/,{cases:{"$S2==interpolatedstring":{token:`string`,next:`@pop`},"@default":`@brackets`}}],[/[{}()\[\]]/,`@brackets`],[/@symbols/,`delimiter`],[/\d+[eE]([\-+]?\d+)?/,`number.float`],[/\d+\.\d+([eE][\-+]?\d+)?/,`number.float`],[/0[xX][0-9a-fA-F]+/,`number.hex`],[/0[0-7]+(?!\d)/,`number.octal`],[/\d+/,`number`],[/[,.]/,`delimiter`],[/"""/,`string`,`@herestring."""`],[/'''/,`string`,`@herestring.'''`],[/"/,{cases:{"@eos":`string`,"@default":{token:`string`,next:`@string."`}}}],[/'/,{cases:{"@eos":`string`,"@default":{token:`string`,next:`@string.'`}}}]],string:[[/[^"'\#\\]+/,`string`],[/@escapes/,`string.escape`],[/\./,`string.escape.invalid`],[/\./,`string.escape.invalid`],[/#{/,{cases:{'$S2=="':{token:`string`,next:`root.interpolatedstring`},"@default":`string`}}],[/["']/,{cases:{"$#==$S2":{token:`string`,next:`@pop`},"@default":`string`}}],[/#/,`string`]],herestring:[[/("""|''')/,{cases:{"$1==$S2":{token:`string`,next:`@pop`},"@default":`string`}}],[/[^#\\'"]+/,`string`],[/['"]+/,`string`],[/@escapes/,`string.escape`],[/\./,`string.escape.invalid`],[/#{/,{token:`string.quote`,next:`root.interpolatedstring`}],[/#/,`string`]],comment:[[/[^#]+/,`comment`],[/###/,`comment`,`@pop`],[/#/,`comment`]],hereregexp:[[/[^\\\/#]+/,`regexp`],[/\\./,`regexp`],[/#.*$/,`comment`],[`///[igm]*`,{token:`regexp`,next:`@pop`}],[/\//,`regexp`]]}},fe=e({conf:()=>pe,language:()=>me}),pe={comments:{lineComment:`//`,blockComment:[`/*`,`*/`]},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],autoClosingPairs:[{open:`[`,close:`]`},{open:`{`,close:`}`},{open:`(`,close:`)`},{open:`'`,close:`'`,notIn:[`string`,`comment`]},{open:`"`,close:`"`,notIn:[`string`]}],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],folding:{markers:{start:RegExp(`^\\s*#pragma\\s+region\\b`),end:RegExp(`^\\s*#pragma\\s+endregion\\b`)}}},me={defaultToken:``,tokenPostfix:`.cpp`,brackets:[{token:`delimiter.curly`,open:`{`,close:`}`},{token:`delimiter.parenthesis`,open:`(`,close:`)`},{token:`delimiter.square`,open:`[`,close:`]`},{token:`delimiter.angle`,open:`<`,close:`>`}],keywords:`abstract.amp.array.auto.bool.break.case.catch.char.class.const.constexpr.const_cast.continue.cpu.decltype.default.delegate.delete.do.double.dynamic_cast.each.else.enum.event.explicit.export.extern.false.final.finally.float.for.friend.gcnew.generic.goto.if.in.initonly.inline.int.interface.interior_ptr.internal.literal.long.mutable.namespace.new.noexcept.nullptr.__nullptr.operator.override.partial.pascal.pin_ptr.private.property.protected.public.ref.register.reinterpret_cast.restrict.return.safe_cast.sealed.short.signed.sizeof.static.static_assert.static_cast.struct.switch.template.this.thread_local.throw.tile_static.true.try.typedef.typeid.typename.union.unsigned.using.virtual.void.volatile.wchar_t.where.while._asm._based._cdecl._declspec._fastcall._if_exists._if_not_exists._inline._multiple_inheritance._pascal._single_inheritance._stdcall._virtual_inheritance._w64.__abstract.__alignof.__asm.__assume.__based.__box.__builtin_alignof.__cdecl.__clrcall.__declspec.__delegate.__event.__except.__fastcall.__finally.__forceinline.__gc.__hook.__identifier.__if_exists.__if_not_exists.__inline.__int128.__int16.__int32.__int64.__int8.__interface.__leave.__m128.__m128d.__m128i.__m256.__m256d.__m256i.__m512.__m512d.__m512i.__m64.__multiple_inheritance.__newslot.__nogc.__noop.__nounwind.__novtordisp.__pascal.__pin.__pragma.__property.__ptr32.__ptr64.__raise.__restrict.__resume.__sealed.__single_inheritance.__stdcall.__super.__thiscall.__try.__try_cast.__typeof.__unaligned.__unhook.__uuidof.__value.__virtual_inheritance.__w64.__wchar_t`.split(`.`),operators:`=.>.<.!.~.?.:.==.<=.>=.!=.&&.||.++.--.+.-.*./.&.|.^.%.<<.>>.+=.-=.*=./=.&=.|=.^=.%=.<<=.>>=`.split(`.`),symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[0abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,integersuffix:/([uU](ll|LL|l|L)|(ll|LL|l|L)?[uU]?)/,floatsuffix:/[fFlL]?/,encoding:/u|u8|U|L/,tokenizer:{root:[[/@encoding?R\"(?:([^ ()\\\t]*))\(/,{token:`string.raw.begin`,next:`@raw.$1`}],[/[a-zA-Z_]\w*/,{cases:{"@keywords":{token:`keyword.$0`},"@default":`identifier`}}],[/^\s*#\s*include/,{token:`keyword.directive.include`,next:`@include`}],[/^\s*#\s*\w+/,`keyword.directive`],{include:`@whitespace`},[/\[\s*\[/,{token:`annotation`,next:`@annotation`}],[/[{}()<>\[\]]/,`@brackets`],[/@symbols/,{cases:{"@operators":`delimiter`,"@default":``}}],[/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/,`number.float`],[/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/,`number.float`],[/0[xX][0-9a-fA-F']*[0-9a-fA-F](@integersuffix)/,`number.hex`],[/0[0-7']*[0-7](@integersuffix)/,`number.octal`],[/0[bB][0-1']*[0-1](@integersuffix)/,`number.binary`],[/\d[\d']*\d(@integersuffix)/,`number`],[/\d(@integersuffix)/,`number`],[/[;,.]/,`delimiter`],[/"([^"\\]|\\.)*$/,`string.invalid`],[/"/,`string`,`@string`],[/'[^\\']'/,`string`],[/(')(@escapes)(')/,[`string`,`string.escape`,`string`]],[/'/,`string.invalid`]],whitespace:[[/[ \t\r\n]+/,``],[/\/\*\*(?!\/)/,`comment.doc`,`@doccomment`],[/\/\*/,`comment`,`@comment`],[/\/\/.*\\$/,`comment`,`@linecomment`],[/\/\/.*$/,`comment`]],comment:[[/[^\/*]+/,`comment`],[/\*\//,`comment`,`@pop`],[/[\/*]/,`comment`]],linecomment:[[/.*[^\\]$/,`comment`,`@pop`],[/[^]+/,`comment`]],doccomment:[[/[^\/*]+/,`comment.doc`],[/\*\//,`comment.doc`,`@pop`],[/[\/*]/,`comment.doc`]],string:[[/[^\\"]+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/"/,`string`,`@pop`]],raw:[[/[^)]+/,`string.raw`],[/\)$S2\"/,{token:`string.raw.end`,next:`@pop`}],[/\)/,`string.raw`]],annotation:[{include:`@whitespace`},[/using|alignas/,`keyword`],[/[a-zA-Z0-9_]+/,`annotation`],[/[,:]/,`delimiter`],[/[()]/,`@brackets`],[/\]\s*\]/,{token:`annotation`,next:`@pop`}]],include:[[/(\s*)(<)([^<>]*)(>)/,[``,`keyword.directive.include.begin`,`string.include.identifier`,{token:`keyword.directive.include.end`,next:`@pop`}]],[/(\s*)(")([^"]*)(")/,[``,`keyword.directive.include.begin`,`string.include.identifier`,{token:`keyword.directive.include.end`,next:`@pop`}]]]}},he=e({conf:()=>ge,language:()=>_e}),ge={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\$\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:`//`,blockComment:[`/*`,`*/`]},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`'`,close:`'`,notIn:[`string`,`comment`]},{open:`"`,close:`"`,notIn:[`string`,`comment`]}],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`<`,close:`>`},{open:`'`,close:`'`},{open:`"`,close:`"`}],folding:{markers:{start:RegExp(`^\\s*#region\\b`),end:RegExp(`^\\s*#endregion\\b`)}}},_e={defaultToken:``,tokenPostfix:`.cs`,brackets:[{open:`{`,close:`}`,token:`delimiter.curly`},{open:`[`,close:`]`,token:`delimiter.square`},{open:`(`,close:`)`,token:`delimiter.parenthesis`},{open:`<`,close:`>`,token:`delimiter.angle`}],keywords:`extern.alias.using.bool.decimal.sbyte.byte.short.ushort.int.uint.long.ulong.char.float.double.object.dynamic.string.assembly.is.as.ref.out.this.base.new.typeof.void.checked.unchecked.default.delegate.var.const.if.else.switch.case.while.do.for.foreach.in.break.continue.goto.return.throw.try.catch.finally.lock.yield.from.let.where.join.on.equals.into.orderby.ascending.descending.select.group.by.namespace.partial.class.field.event.method.param.public.protected.internal.private.abstract.sealed.static.struct.readonly.volatile.virtual.override.params.get.set.add.remove.operator.true.false.implicit.explicit.interface.enum.null.async.await.fixed.sizeof.stackalloc.unsafe.nameof.when`.split(`.`),namespaceFollows:[`namespace`,`using`],parenFollows:[`if`,`for`,`while`,`switch`,`foreach`,`using`,`catch`,`when`],operators:`=.??.||.&&.|.^.&.==.!=.<=.>=.<<.+.-.*./.%.!.~.++.--.+=.-=.*=./=.%=.&=.|=.^=.<<=.>>=.>>.=>`.split(`.`),symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/\@?[a-zA-Z_]\w*/,{cases:{"@namespaceFollows":{token:`keyword.$0`,next:`@namespace`},"@keywords":{token:`keyword.$0`,next:`@qualified`},"@default":{token:`identifier`,next:`@qualified`}}}],{include:`@whitespace`},[/}/,{cases:{"$S2==interpolatedstring":{token:`string.quote`,next:`@pop`},"$S2==litinterpstring":{token:`string.quote`,next:`@pop`},"@default":`@brackets`}}],[/[{}()\[\]]/,`@brackets`],[/[<>](?!@symbols)/,`@brackets`],[/@symbols/,{cases:{"@operators":`delimiter`,"@default":``}}],[/[0-9_]*\.[0-9_]+([eE][\-+]?\d+)?[fFdD]?/,`number.float`],[/0[xX][0-9a-fA-F_]+/,`number.hex`],[/0[bB][01_]+/,`number.hex`],[/[0-9_]+/,`number`],[/[;,.]/,`delimiter`],[/"([^"\\]|\\.)*$/,`string.invalid`],[/"/,{token:`string.quote`,next:`@string`}],[/\$\@"/,{token:`string.quote`,next:`@litinterpstring`}],[/\@"/,{token:`string.quote`,next:`@litstring`}],[/\$"/,{token:`string.quote`,next:`@interpolatedstring`}],[/'[^\\']'/,`string`],[/(')(@escapes)(')/,[`string`,`string.escape`,`string`]],[/'/,`string.invalid`]],qualified:[[/[a-zA-Z_][\w]*/,{cases:{"@keywords":{token:`keyword.$0`},"@default":`identifier`}}],[/\./,`delimiter`],[``,``,`@pop`]],namespace:[{include:`@whitespace`},[/[A-Z]\w*/,`namespace`],[/[\.=]/,`delimiter`],[``,``,`@pop`]],comment:[[/[^\/*]+/,`comment`],[`\\*/`,`comment`,`@pop`],[/[\/*]/,`comment`]],string:[[/[^\\"]+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/"/,{token:`string.quote`,next:`@pop`}]],litstring:[[/[^"]+/,`string`],[/""/,`string.escape`],[/"/,{token:`string.quote`,next:`@pop`}]],litinterpstring:[[/[^"{]+/,`string`],[/""/,`string.escape`],[/{{/,`string.escape`],[/}}/,`string.escape`],[/{/,{token:`string.quote`,next:`root.litinterpstring`}],[/"/,{token:`string.quote`,next:`@pop`}]],interpolatedstring:[[/[^\\"{]+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/{{/,`string.escape`],[/}}/,`string.escape`],[/{/,{token:`string.quote`,next:`root.interpolatedstring`}],[/"/,{token:`string.quote`,next:`@pop`}]],whitespace:[[/^[ \t\v\f]*#((r)|(load))(?=\s)/,`directive.csx`],[/^[ \t\v\f]*#\w.*$/,`namespace.cpp`],[/[ \t\v\f\r\n]+/,``],[/\/\*/,`comment`,`@comment`],[/\/\/.*$/,`comment`]]}},ve=e({conf:()=>ye,language:()=>be}),ye={brackets:[],autoClosingPairs:[],surroundingPairs:[]},be={keywords:[],typeKeywords:[],tokenPostfix:`.csp`,operators:[],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/child-src/,`string.quote`],[/connect-src/,`string.quote`],[/default-src/,`string.quote`],[/font-src/,`string.quote`],[/frame-src/,`string.quote`],[/img-src/,`string.quote`],[/manifest-src/,`string.quote`],[/media-src/,`string.quote`],[/object-src/,`string.quote`],[/script-src/,`string.quote`],[/style-src/,`string.quote`],[/worker-src/,`string.quote`],[/base-uri/,`string.quote`],[/plugin-types/,`string.quote`],[/sandbox/,`string.quote`],[/disown-opener/,`string.quote`],[/form-action/,`string.quote`],[/frame-ancestors/,`string.quote`],[/report-uri/,`string.quote`],[/report-to/,`string.quote`],[/upgrade-insecure-requests/,`string.quote`],[/block-all-mixed-content/,`string.quote`],[/require-sri-for/,`string.quote`],[/reflected-xss/,`string.quote`],[/referrer/,`string.quote`],[/policy-uri/,`string.quote`],[/'self'/,`string.quote`],[/'unsafe-inline'/,`string.quote`],[/'unsafe-eval'/,`string.quote`],[/'strict-dynamic'/,`string.quote`],[/'unsafe-hashed-attributes'/,`string.quote`]]}},xe=e({conf:()=>Se,language:()=>Ce}),Se={wordPattern:/(#?-?\d*\.\d\w*%?)|((::|[@#.!:])?[\w-?]+%?)|::|[@#.!:]/g,comments:{blockComment:[`/*`,`*/`]},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`,notIn:[`string`,`comment`]},{open:`[`,close:`]`,notIn:[`string`,`comment`]},{open:`(`,close:`)`,notIn:[`string`,`comment`]},{open:`"`,close:`"`,notIn:[`string`,`comment`]},{open:`'`,close:`'`,notIn:[`string`,`comment`]}],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],folding:{markers:{start:RegExp(`^\\s*\\/\\*\\s*#region\\b\\s*(.*?)\\s*\\*\\/`),end:RegExp(`^\\s*\\/\\*\\s*#endregion\\b.*\\*\\/`)}}},Ce={defaultToken:``,tokenPostfix:`.css`,ws:`[
3
3
  \r\f]*`,identifier:`-?-?([a-zA-Z]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))([\\w\\-]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))*`,brackets:[{open:`{`,close:`}`,token:`delimiter.bracket`},{open:`[`,close:`]`,token:`delimiter.bracket`},{open:`(`,close:`)`,token:`delimiter.parenthesis`},{open:`<`,close:`>`,token:`delimiter.angle`}],tokenizer:{root:[{include:`@selector`}],selector:[{include:`@comments`},{include:`@import`},{include:`@strings`},[`[@](keyframes|-webkit-keyframes|-moz-keyframes|-o-keyframes)`,{token:`keyword`,next:`@keyframedeclaration`}],[`[@](page|content|font-face|-moz-document)`,{token:`keyword`}],[`[@](charset|namespace)`,{token:`keyword`,next:`@declarationbody`}],[`(url-prefix)(\\()`,[`attribute.value`,{token:`delimiter.parenthesis`,next:`@urldeclaration`}]],[`(url)(\\()`,[`attribute.value`,{token:`delimiter.parenthesis`,next:`@urldeclaration`}]],{include:`@selectorname`},[`[\\*]`,`tag`],[`[>\\+,]`,`delimiter`],[`\\[`,{token:`delimiter.bracket`,next:`@selectorattribute`}],[`{`,{token:`delimiter.bracket`,next:`@selectorbody`}]],selectorbody:[{include:`@comments`},[`[*_]?@identifier@ws:(?=(\\s|\\d|[^{;}]*[;}]))`,`attribute.name`,`@rulevalue`],[`}`,{token:`delimiter.bracket`,next:`@pop`}]],selectorname:[[`(\\.|#(?=[^{])|%|(@identifier)|:)+`,`tag`]],selectorattribute:[{include:`@term`},[`]`,{token:`delimiter.bracket`,next:`@pop`}]],term:[{include:`@comments`},[`(url-prefix)(\\()`,[`attribute.value`,{token:`delimiter.parenthesis`,next:`@urldeclaration`}]],[`(url)(\\()`,[`attribute.value`,{token:`delimiter.parenthesis`,next:`@urldeclaration`}]],{include:`@functioninvocation`},{include:`@numbers`},{include:`@name`},{include:`@strings`},[`([<>=\\+\\-\\*\\/\\^\\|\\~,])`,`delimiter`],[`,`,`delimiter`]],rulevalue:[{include:`@comments`},{include:`@strings`},{include:`@term`},[`!important`,`keyword`],[`;`,`delimiter`,`@pop`],[`(?=})`,{token:``,next:`@pop`}]],warndebug:[[`[@](warn|debug)`,{token:`keyword`,next:`@declarationbody`}]],import:[[`[@](import)`,{token:`keyword`,next:`@declarationbody`}]],urldeclaration:[{include:`@strings`},[`[^)\r
4
4
  ]+`,`string`],[`\\)`,{token:`delimiter.parenthesis`,next:`@pop`}]],parenthizedterm:[{include:`@term`},[`\\)`,{token:`delimiter.parenthesis`,next:`@pop`}]],declarationbody:[{include:`@term`},[`;`,`delimiter`,`@pop`],[`(?=})`,{token:``,next:`@pop`}]],comments:[[`\\/\\*`,`comment`,`@comment`],[`\\/\\/+.*`,`comment`]],comment:[[`\\*\\/`,`comment`,`@pop`],[/[^*/]+/,`comment`],[/./,`comment`]],name:[[`@identifier`,`attribute.value`]],numbers:[[`-?(\\d*\\.)?\\d+([eE][\\-+]?\\d+)?`,{token:`attribute.value.number`,next:`@units`}],[`#[0-9a-fA-F_]+(?!\\w)`,`attribute.value.hex`]],units:[[`(em|ex|ch|rem|fr|vmin|vmax|vw|vh|vm|cm|mm|in|px|pt|pc|deg|grad|rad|turn|s|ms|Hz|kHz|%)?`,`attribute.value.unit`,`@pop`]],keyframedeclaration:[[`@identifier`,`attribute.value`],[`{`,{token:`delimiter.bracket`,switchTo:`@keyframebody`}]],keyframebody:[{include:`@term`},[`{`,{token:`delimiter.bracket`,next:`@selectorbody`}],[`}`,{token:`delimiter.bracket`,next:`@pop`}]],functioninvocation:[[`@identifier\\(`,{token:`attribute.value`,next:`@functionarguments`}]],functionarguments:[[`\\$@identifier@ws:`,`attribute.name`],[`[,]`,`delimiter`],{include:`@term`},[`\\)`,{token:`attribute.value`,next:`@pop`}]],strings:[[`~?"`,{token:`string`,next:`@stringenddoublequote`}],[`~?'`,{token:`string`,next:`@stringendquote`}]],stringenddoublequote:[[`\\\\.`,`string`],[`"`,{token:`string`,next:`@pop`}],[/[^\\"]+/,`string`],[`.`,`string`]],stringendquote:[[`\\\\.`,`string`],[`'`,{token:`string`,next:`@pop`}],[/[^\\']+/,`string`],[`.`,`string`]]}},we=e({conf:()=>Te,language:()=>Ee}),Te={comments:{lineComment:`//`,blockComment:[`/*`,`*/`]},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`},{open:"`",close:"`"}],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`},{open:"`",close:"`"}]},Ee={defaultToken:``,tokenPostfix:`.cypher`,ignoreCase:!0,brackets:[{open:`{`,close:`}`,token:`delimiter.curly`},{open:`[`,close:`]`,token:`delimiter.bracket`},{open:`(`,close:`)`,token:`delimiter.parenthesis`}],keywords:`ALL.AND.AS.ASC.ASCENDING.BY.CALL.CASE.CONTAINS.CREATE.DELETE.DESC.DESCENDING.DETACH.DISTINCT.ELSE.END.ENDS.EXISTS.IN.IS.LIMIT.MANDATORY.MATCH.MERGE.NOT.ON.ON.OPTIONAL.OR.ORDER.REMOVE.RETURN.SET.SKIP.STARTS.THEN.UNION.UNWIND.WHEN.WHERE.WITH.XOR.YIELD`.split(`.`),builtinLiterals:[`true`,`TRUE`,`false`,`FALSE`,`null`,`NULL`],builtinFunctions:`abs.acos.asin.atan.atan2.avg.ceil.coalesce.collect.cos.cot.count.degrees.e.endNode.exists.exp.floor.head.id.keys.labels.last.left.length.log.log10.lTrim.max.min.nodes.percentileCont.percentileDisc.pi.properties.radians.rand.range.relationships.replace.reverse.right.round.rTrim.sign.sin.size.split.sqrt.startNode.stDev.stDevP.substring.sum.tail.tan.timestamp.toBoolean.toFloat.toInteger.toLower.toString.toUpper.trim.type`.split(`.`),operators:[`+`,`-`,`*`,`/`,`%`,`^`,`=`,`<>`,`<`,`>`,`<=`,`>=`,`->`,`<-`,`-->`,`<--`],escapes:/\\(?:[tbnrf\\"'`]|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\d+/,octaldigits:/[0-7]+/,hexdigits:/[0-9a-fA-F]+/,tokenizer:{root:[[/[{}[\]()]/,`@brackets`],{include:`common`}],common:[{include:`@whitespace`},{include:`@numbers`},{include:`@strings`},[/:[a-zA-Z_][\w]*/,`type.identifier`],[/[a-zA-Z_][\w]*(?=\()/,{cases:{"@builtinFunctions":`predefined.function`}}],[/[a-zA-Z_$][\w$]*/,{cases:{"@keywords":`keyword`,"@builtinLiterals":`predefined.literal`,"@default":`identifier`}}],[/`/,`identifier.escape`,`@identifierBacktick`],[/[;,.:|]/,`delimiter`],[/[<>=%+\-*/^]+/,{cases:{"@operators":`delimiter`,"@default":``}}]],numbers:[[/-?(@digits)[eE](-?(@digits))?/,`number.float`],[/-?(@digits)?\.(@digits)([eE]-?(@digits))?/,`number.float`],[/-?0x(@hexdigits)/,`number.hex`],[/-?0(@octaldigits)/,`number.octal`],[/-?(@digits)/,`number`]],strings:[[/"([^"\\]|\\.)*$/,`string.invalid`],[/'([^'\\]|\\.)*$/,`string.invalid`],[/"/,`string`,`@stringDouble`],[/'/,`string`,`@stringSingle`]],whitespace:[[/[ \t\r\n]+/,`white`],[/\/\*/,`comment`,`@comment`],[/\/\/.*$/,`comment`]],comment:[[/\/\/.*/,`comment`],[/[^/*]+/,`comment`],[/\*\//,`comment`,`@pop`],[/[/*]/,`comment`]],stringDouble:[[/[^\\"]+/,`string`],[/@escapes/,`string`],[/\\./,`string.invalid`],[/"/,`string`,`@pop`]],stringSingle:[[/[^\\']+/,`string`],[/@escapes/,`string`],[/\\./,`string.invalid`],[/'/,`string`,`@pop`]],identifierBacktick:[[/[^\\`]+/,`identifier.escape`],[/@escapes/,`identifier.escape`],[/\\./,`identifier.escape.invalid`],[/`/,`identifier.escape`,`@pop`]]}},De=e({conf:()=>Oe,language:()=>ke}),Oe={comments:{lineComment:`//`,blockComment:[`/*`,`*/`]},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`'`,close:`'`,notIn:[`string`,`comment`]},{open:`"`,close:`"`,notIn:[`string`]},{open:"`",close:"`",notIn:[`string`,`comment`]},{open:`/**`,close:` */`,notIn:[`string`]}],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`<`,close:`>`},{open:`'`,close:`'`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:"`",close:"`"}],folding:{markers:{start:/^\s*\s*#?region\b/,end:/^\s*\s*#?endregion\b/}}},ke={defaultToken:`invalid`,tokenPostfix:`.dart`,keywords:`abstract.dynamic.implements.show.as.else.import.static.assert.enum.in.super.async.export.interface.switch.await.extends.is.sync.break.external.library.this.case.factory.mixin.throw.catch.false.new.true.class.final.null.try.const.finally.on.typedef.continue.for.operator.var.covariant.Function.part.void.default.get.rethrow.while.deferred.hide.return.with.do.if.set.yield`.split(`.`),typeKeywords:[`int`,`double`,`String`,`bool`],operators:`+.-.*./.~/.%.++.--.==.!=.>.<.>=.<=.=.-=./=.%=.>>=.^=.+=.*=.~/=.<<=.&=.!=.||.&&.&.|.^.~.<<.>>.!.>>>.??.?.:.|=`.split(`.`),symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\d+(_+\d+)*/,octaldigits:/[0-7]+(_+[0-7]+)*/,binarydigits:/[0-1]+(_+[0-1]+)*/,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,regexpctl:/[(){}\[\]\$\^|\-*+?\.]/,regexpesc:/\\(?:[bBdDfnrstvwWn0\\\/]|@regexpctl|c[A-Z]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4})/,tokenizer:{root:[[/[{}]/,`delimiter.bracket`],{include:`common`}],common:[[/[a-z_$][\w$]*/,{cases:{"@typeKeywords":`type.identifier`,"@keywords":`keyword`,"@default":`identifier`}}],[/[A-Z_$][\w\$]*/,`type.identifier`],{include:`@whitespace`},[/\/(?=([^\\\/]|\\.)+\/([gimsuy]*)(\s*)(\.|;|,|\)|\]|\}|$))/,{token:`regexp`,bracket:`@open`,next:`@regexp`}],[/@[a-zA-Z]+/,`annotation`],[/[()\[\]]/,`@brackets`],[/[<>](?!@symbols)/,`@brackets`],[/!(?=([^=]|$))/,`delimiter`],[/@symbols/,{cases:{"@operators":`delimiter`,"@default":``}}],[/(@digits)[eE]([\-+]?(@digits))?/,`number.float`],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?/,`number.float`],[/0[xX](@hexdigits)n?/,`number.hex`],[/0[oO]?(@octaldigits)n?/,`number.octal`],[/0[bB](@binarydigits)n?/,`number.binary`],[/(@digits)n?/,`number`],[/[;,.]/,`delimiter`],[/"([^"\\]|\\.)*$/,`string.invalid`],[/'([^'\\]|\\.)*$/,`string.invalid`],[/"/,`string`,`@string_double`],[/'/,`string`,`@string_single`]],whitespace:[[/[ \t\r\n]+/,``],[/\/\*\*(?!\/)/,`comment.doc`,`@jsdoc`],[/\/\*/,`comment`,`@comment`],[/\/\/\/.*$/,`comment.doc`],[/\/\/.*$/,`comment`]],comment:[[/[^\/*]+/,`comment`],[/\*\//,`comment`,`@pop`],[/[\/*]/,`comment`]],jsdoc:[[/[^\/*]+/,`comment.doc`],[/\*\//,`comment.doc`,`@pop`],[/[\/*]/,`comment.doc`]],regexp:[[/(\{)(\d+(?:,\d*)?)(\})/,[`regexp.escape.control`,`regexp.escape.control`,`regexp.escape.control`]],[/(\[)(\^?)(?=(?:[^\]\\\/]|\\.)+)/,[`regexp.escape.control`,{token:`regexp.escape.control`,next:`@regexrange`}]],[/(\()(\?:|\?=|\?!)/,[`regexp.escape.control`,`regexp.escape.control`]],[/[()]/,`regexp.escape.control`],[/@regexpctl/,`regexp.escape.control`],[/[^\\\/]/,`regexp`],[/@regexpesc/,`regexp.escape`],[/\\\./,`regexp.invalid`],[/(\/)([gimsuy]*)/,[{token:`regexp`,bracket:`@close`,next:`@pop`},`keyword.other`]]],regexrange:[[/-/,`regexp.escape.control`],[/\^/,`regexp.invalid`],[/@regexpesc/,`regexp.escape`],[/[^\]]/,`regexp`],[/\]/,{token:`regexp.escape.control`,next:`@pop`,bracket:`@close`}]],string_double:[[/[^\\"\$]+/,`string`],[/[^\\"]+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/"/,`string`,`@pop`],[/\$\w+/,`identifier`]],string_single:[[/[^\\'\$]+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/'/,`string`,`@pop`],[/\$\w+/,`identifier`]]}},Ae=e({conf:()=>je,language:()=>Me}),je={brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}]},Me={defaultToken:``,tokenPostfix:`.dockerfile`,variable:/\${?[\w]+}?/,tokenizer:{root:[{include:`@whitespace`},{include:`@comment`},[/(ONBUILD)(\s+)/,[`keyword`,``]],[/(ENV)(\s+)([\w]+)/,[`keyword`,``,{token:`variable`,next:`@arguments`}]],[/(FROM|MAINTAINER|RUN|EXPOSE|ENV|ADD|ARG|VOLUME|LABEL|USER|WORKDIR|COPY|CMD|STOPSIGNAL|SHELL|HEALTHCHECK|ENTRYPOINT)/,{token:`keyword`,next:`@arguments`}]],arguments:[{include:`@whitespace`},{include:`@strings`},[/(@variable)/,{cases:{"@eos":{token:`variable`,next:`@popall`},"@default":`variable`}}],[/\\/,{cases:{"@eos":``,"@default":``}}],[/./,{cases:{"@eos":{token:``,next:`@popall`},"@default":``}}]],whitespace:[[/\s+/,{cases:{"@eos":{token:``,next:`@popall`},"@default":``}}]],comment:[[/(^#.*$)/,`comment`,`@popall`]],strings:[[/\\'$/,``,`@popall`],[/\\'/,``],[/'$/,`string`,`@popall`],[/'/,`string`,`@stringBody`],[/"$/,`string`,`@popall`],[/"/,`string`,`@dblStringBody`]],stringBody:[[/[^\\\$']/,{cases:{"@eos":{token:`string`,next:`@popall`},"@default":`string`}}],[/\\./,`string.escape`],[/'$/,`string`,`@popall`],[/'/,`string`,`@pop`],[/(@variable)/,`variable`],[/\\$/,`string`],[/$/,`string`,`@popall`]],dblStringBody:[[/[^\\\$"]/,{cases:{"@eos":{token:`string`,next:`@popall`},"@default":`string`}}],[/\\./,`string.escape`],[/"$/,`string`,`@popall`],[/"/,`string`,`@pop`],[/(@variable)/,`variable`],[/\\$/,`string`],[/$/,`string`,`@popall`]]}},Ne=e({conf:()=>Pe,language:()=>Fe}),Pe={comments:{lineComment:`//`,blockComment:[`/*`,`*/`]},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`'`,close:`'`,notIn:[`string`,`comment`]},{open:`"`,close:`"`,notIn:[`string`,`comment`]}],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`<`,close:`>`},{open:`'`,close:`'`},{open:`"`,close:`"`}]},Fe={defaultToken:``,tokenPostfix:`.ecl`,ignoreCase:!0,brackets:[{open:`{`,close:`}`,token:`delimiter.curly`},{open:`[`,close:`]`,token:`delimiter.square`},{open:`(`,close:`)`,token:`delimiter.parenthesis`},{open:`<`,close:`>`,token:`delimiter.angle`}],pounds:[`append`,`break`,`declare`,`demangle`,`end`,`for`,`getdatatype`,`if`,`inmodule`,`loop`,`mangle`,`onwarning`,`option`,`set`,`stored`,`uniquename`].join(`|`),keywords:`__compressed__.after.all.and.any.as.atmost.before.beginc.best.between.case.cluster.compressed.compression.const.counter.csv.default.descend.embed.encoding.encrypt.end.endc.endembed.endmacro.enum.escape.except.exclusive.expire.export.extend.fail.few.fileposition.first.flat.forward.from.full.function.functionmacro.group.grouped.heading.hole.ifblock.import.in.inner.interface.internal.joined.keep.keyed.last.left.limit.linkcounted.literal.little_endian.load.local.locale.lookup.lzw.macro.many.maxcount.maxlength.min skew.module.mofn.multiple.named.namespace.nocase.noroot.noscan.nosort.not.noxpath.of.onfail.only.opt.or.outer.overwrite.packed.partition.penalty.physicallength.pipe.prefetch.quote.record.repeat.retry.return.right.right1.right2.rows.rowset.scan.scope.self.separator.service.shared.skew.skip.smart.soapaction.sql.stable.store.terminator.thor.threshold.timelimit.timeout.token.transform.trim.type.unicodeorder.unordered.unsorted.unstable.update.use.validate.virtual.whole.width.wild.within.wnotrim.xml.xpath`.split(`.`),functions:`abs.acos.aggregate.allnodes.apply.ascii.asin.assert.asstring.atan.atan2.ave.build.buildindex.case.catch.choose.choosen.choosesets.clustersize.combine.correlation.cos.cosh.count.covariance.cron.dataset.dedup.define.denormalize.dictionary.distribute.distributed.distribution.ebcdic.enth.error.evaluate.event.eventextra.eventname.exists.exp.fail.failcode.failmessage.fetch.fromunicode.fromxml.getenv.getisvalid.global.graph.group.hash.hash32.hash64.hashcrc.hashmd5.having.httpcall.httpheader.if.iff.index.intformat.isvalid.iterate.join.keydiff.keypatch.keyunicode.length.library.limit.ln.loadxml.local.log.loop.map.matched.matchlength.matchposition.matchtext.matchunicode.max.merge.mergejoin.min.nofold.nolocal.nonempty.normalize.nothor.notify.output.parallel.parse.pipe.power.preload.process.project.pull.random.range.rank.ranked.realformat.recordof.regexfind.regexreplace.regroup.rejected.rollup.round.roundup.row.rowdiff.sample.sequential.set.sin.sinh.sizeof.soapcall.sort.sorted.sqrt.stepped.stored.sum.table.tan.tanh.thisnode.topn.tounicode.toxml.transfer.transform.trim.truncate.typeof.ungroup.unicodeorder.variance.wait.which.workunit.xmldecode.xmlencode.xmltext.xmlunicode`.split(`.`),typesint:[`integer`,`unsigned`].join(`|`),typesnum:[`data`,`qstring`,`string`,`unicode`,`utf8`,`varstring`,`varunicode`],typesone:[`ascii`,`big_endian`,`boolean`,`data`,`decimal`,`ebcdic`,`grouped`,`integer`,`linkcounted`,`pattern`,`qstring`,`real`,`record`,`rule`,`set of`,`streamed`,`string`,`token`,`udecimal`,`unicode`,`unsigned`,`utf8`,`varstring`,`varunicode`].join(`|`),operators:[`+`,`-`,`/`,`:=`,`<`,`<>`,`=`,`>`,`\\`,`and`,`in`,`not`,`or`],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/@typesint[4|8]/,`type`],[/#(@pounds)/,`type`],[/@typesone/,`type`],[/[a-zA-Z_$][\w-$]*/,{cases:{"@functions":`keyword.function`,"@keywords":`keyword`,"@operators":`operator`}}],{include:`@whitespace`},[/[{}()\[\]]/,`@brackets`],[/[<>](?!@symbols)/,`@brackets`],[/@symbols/,{cases:{"@operators":`delimiter`,"@default":``}}],[/[0-9_]*\.[0-9_]+([eE][\-+]?\d+)?/,`number.float`],[/0[xX][0-9a-fA-F_]+/,`number.hex`],[/0[bB][01]+/,`number.hex`],[/[0-9_]+/,`number`],[/[;,.]/,`delimiter`],[/"([^"\\]|\\.)*$/,`string.invalid`],[/"/,`string`,`@string`],[/'[^\\']'/,`string`],[/(')(@escapes)(')/,[`string`,`string.escape`,`string`]],[/'/,`string.invalid`]],whitespace:[[/[ \t\v\f\r\n]+/,``],[/\/\*/,`comment`,`@comment`],[/\/\/.*$/,`comment`]],comment:[[/[^\/*]+/,`comment`],[/\*\//,`comment`,`@pop`],[/[\/*]/,`comment`]],string:[[/[^\\']+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/'/,`string`,`@pop`]]}},Ie=e({conf:()=>Le,language:()=>Re}),Le={comments:{lineComment:`#`},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`'`,close:`'`},{open:`"`,close:`"`}],autoClosingPairs:[{open:`'`,close:`'`,notIn:[`string`,`comment`]},{open:`"`,close:`"`,notIn:[`comment`]},{open:`"""`,close:`"""`},{open:"`",close:"`",notIn:[`string`,`comment`]},{open:`(`,close:`)`},{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`<<`,close:`>>`}],indentationRules:{increaseIndentPattern:/^\s*(after|else|catch|rescue|fn|[^#]*(do|<\-|\->|\{|\[|\=))\s*$/,decreaseIndentPattern:/^\s*((\}|\])\s*$|(after|else|catch|rescue|end)\b)/}},Re={defaultToken:`source`,tokenPostfix:`.elixir`,brackets:[{open:`[`,close:`]`,token:`delimiter.square`},{open:`(`,close:`)`,token:`delimiter.parenthesis`},{open:`{`,close:`}`,token:`delimiter.curly`},{open:`<<`,close:`>>`,token:`delimiter.angle.special`}],declarationKeywords:[`def`,`defp`,`defn`,`defnp`,`defguard`,`defguardp`,`defmacro`,`defmacrop`,`defdelegate`,`defcallback`,`defmacrocallback`,`defmodule`,`defprotocol`,`defexception`,`defimpl`,`defstruct`],operatorKeywords:[`and`,`in`,`not`,`or`,`when`],namespaceKeywords:[`alias`,`import`,`require`,`use`],otherKeywords:[`after`,`case`,`catch`,`cond`,`do`,`else`,`end`,`fn`,`for`,`if`,`quote`,`raise`,`receive`,`rescue`,`super`,`throw`,`try`,`unless`,`unquote_splicing`,`unquote`,`with`],constants:[`true`,`false`,`nil`],nameBuiltin:[`__MODULE__`,`__DIR__`,`__ENV__`,`__CALLER__`,`__STACKTRACE__`],operator:/-[->]?|!={0,2}|\*{1,2}|\/|\\\\|&{1,3}|\.\.?|\^(?:\^\^)?|\+\+?|<(?:-|<<|=|>|\|>|~>?)?|=~|={1,3}|>(?:=|>>)?|\|~>|\|>|\|{1,3}|~>>?|~~~|::/,variableName:/[a-z_][a-zA-Z0-9_]*[?!]?/,atomName:/[a-zA-Z_][a-zA-Z0-9_@]*[?!]?|@specialAtomName|@operator/,specialAtomName:/\.\.\.|<<>>|%\{\}|%|\{\}/,aliasPart:/[A-Z][a-zA-Z0-9_]*/,moduleName:/@aliasPart(?:\.@aliasPart)*/,sigilSymmetricDelimiter:/"""|'''|"|'|\/|\|/,sigilStartDelimiter:/@sigilSymmetricDelimiter|<|\{|\[|\(/,sigilEndDelimiter:/@sigilSymmetricDelimiter|>|\}|\]|\)/,sigilModifiers:/[a-zA-Z0-9]*/,decimal:/\d(?:_?\d)*/,hex:/[0-9a-fA-F](_?[0-9a-fA-F])*/,octal:/[0-7](_?[0-7])*/,binary:/[01](_?[01])*/,escape:/\\u[0-9a-fA-F]{4}|\\x[0-9a-fA-F]{2}|\\./,tokenizer:{root:[{include:`@whitespace`},{include:`@comments`},{include:`@keywordsShorthand`},{include:`@numbers`},{include:`@identifiers`},{include:`@strings`},{include:`@atoms`},{include:`@sigils`},{include:`@attributes`},{include:`@symbols`}],whitespace:[[/\s+/,`white`]],comments:[[/(#)(.*)/,[`comment.punctuation`,`comment`]]],keywordsShorthand:[[/(@atomName)(:)(\s+)/,[`constant`,`constant.punctuation`,`white`]],[/"(?=([^"]|#\{.*?\}|\\")*":)/,{token:`constant.delimiter`,next:`@doubleQuotedStringKeyword`}],[/'(?=([^']|#\{.*?\}|\\')*':)/,{token:`constant.delimiter`,next:`@singleQuotedStringKeyword`}]],doubleQuotedStringKeyword:[[/":/,{token:`constant.delimiter`,next:`@pop`}],{include:`@stringConstantContentInterpol`}],singleQuotedStringKeyword:[[/':/,{token:`constant.delimiter`,next:`@pop`}],{include:`@stringConstantContentInterpol`}],numbers:[[/0b@binary/,`number.binary`],[/0o@octal/,`number.octal`],[/0x@hex/,`number.hex`],[/@decimal\.@decimal([eE]-?@decimal)?/,`number.float`],[/@decimal/,`number`]],identifiers:[[/\b(defp?|defnp?|defmacrop?|defguardp?|defdelegate)(\s+)(@variableName)(?!\s+@operator)/,[`keyword.declaration`,`white`,{cases:{unquote:`keyword`,"@default":`function`}}]],[/(@variableName)(?=\s*\.?\s*\()/,{cases:{"@declarationKeywords":`keyword.declaration`,"@namespaceKeywords":`keyword`,"@otherKeywords":`keyword`,"@default":`function.call`}}],[/(@moduleName)(\s*)(\.)(\s*)(@variableName)/,[`type.identifier`,`white`,`operator`,`white`,`function.call`]],[/(:)(@atomName)(\s*)(\.)(\s*)(@variableName)/,[`constant.punctuation`,`constant`,`white`,`operator`,`white`,`function.call`]],[/(\|>)(\s*)(@variableName)/,[`operator`,`white`,{cases:{"@otherKeywords":`keyword`,"@default":`function.call`}}]],[/(&)(\s*)(@variableName)/,[`operator`,`white`,`function.call`]],[/@variableName/,{cases:{"@declarationKeywords":`keyword.declaration`,"@operatorKeywords":`keyword.operator`,"@namespaceKeywords":`keyword`,"@otherKeywords":`keyword`,"@constants":`constant.language`,"@nameBuiltin":`variable.language`,"_.*":`comment.unused`,"@default":`identifier`}}],[/@moduleName/,`type.identifier`]],strings:[[/"""/,{token:`string.delimiter`,next:`@doubleQuotedHeredoc`}],[/'''/,{token:`string.delimiter`,next:`@singleQuotedHeredoc`}],[/"/,{token:`string.delimiter`,next:`@doubleQuotedString`}],[/'/,{token:`string.delimiter`,next:`@singleQuotedString`}]],doubleQuotedHeredoc:[[/"""/,{token:`string.delimiter`,next:`@pop`}],{include:`@stringContentInterpol`}],singleQuotedHeredoc:[[/'''/,{token:`string.delimiter`,next:`@pop`}],{include:`@stringContentInterpol`}],doubleQuotedString:[[/"/,{token:`string.delimiter`,next:`@pop`}],{include:`@stringContentInterpol`}],singleQuotedString:[[/'/,{token:`string.delimiter`,next:`@pop`}],{include:`@stringContentInterpol`}],atoms:[[/(:)(@atomName)/,[`constant.punctuation`,`constant`]],[/:"/,{token:`constant.delimiter`,next:`@doubleQuotedStringAtom`}],[/:'/,{token:`constant.delimiter`,next:`@singleQuotedStringAtom`}]],doubleQuotedStringAtom:[[/"/,{token:`constant.delimiter`,next:`@pop`}],{include:`@stringConstantContentInterpol`}],singleQuotedStringAtom:[[/'/,{token:`constant.delimiter`,next:`@pop`}],{include:`@stringConstantContentInterpol`}],sigils:[[/~[a-z]@sigilStartDelimiter/,{token:`@rematch`,next:`@sigil.interpol`}],[/~([A-Z]+)@sigilStartDelimiter/,{token:`@rematch`,next:`@sigil.noInterpol`}]],sigil:[[/~([a-z]|[A-Z]+)\{/,{token:`@rematch`,switchTo:`@sigilStart.$S2.$1.{.}`}],[/~([a-z]|[A-Z]+)\[/,{token:`@rematch`,switchTo:`@sigilStart.$S2.$1.[.]`}],[/~([a-z]|[A-Z]+)\(/,{token:`@rematch`,switchTo:`@sigilStart.$S2.$1.(.)`}],[/~([a-z]|[A-Z]+)\</,{token:`@rematch`,switchTo:`@sigilStart.$S2.$1.<.>`}],[/~([a-z]|[A-Z]+)(@sigilSymmetricDelimiter)/,{token:`@rematch`,switchTo:`@sigilStart.$S2.$1.$2.$2`}]],"sigilStart.interpol.s":[[/~s@sigilStartDelimiter/,{token:`string.delimiter`,switchTo:`@sigilContinue.$S2.$S3.$S4.$S5`}]],"sigilContinue.interpol.s":[[/(@sigilEndDelimiter)@sigilModifiers/,{cases:{"$1==$S5":{token:`string.delimiter`,next:`@pop`},"@default":`string`}}],{include:`@stringContentInterpol`}],"sigilStart.noInterpol.S":[[/~S@sigilStartDelimiter/,{token:`string.delimiter`,switchTo:`@sigilContinue.$S2.$S3.$S4.$S5`}]],"sigilContinue.noInterpol.S":[[/(^|[^\\])\\@sigilEndDelimiter/,`string`],[/(@sigilEndDelimiter)@sigilModifiers/,{cases:{"$1==$S5":{token:`string.delimiter`,next:`@pop`},"@default":`string`}}],{include:`@stringContent`}],"sigilStart.interpol.r":[[/~r@sigilStartDelimiter/,{token:`regexp.delimiter`,switchTo:`@sigilContinue.$S2.$S3.$S4.$S5`}]],"sigilContinue.interpol.r":[[/(@sigilEndDelimiter)@sigilModifiers/,{cases:{"$1==$S5":{token:`regexp.delimiter`,next:`@pop`},"@default":`regexp`}}],{include:`@regexpContentInterpol`}],"sigilStart.noInterpol.R":[[/~R@sigilStartDelimiter/,{token:`regexp.delimiter`,switchTo:`@sigilContinue.$S2.$S3.$S4.$S5`}]],"sigilContinue.noInterpol.R":[[/(^|[^\\])\\@sigilEndDelimiter/,`regexp`],[/(@sigilEndDelimiter)@sigilModifiers/,{cases:{"$1==$S5":{token:`regexp.delimiter`,next:`@pop`},"@default":`regexp`}}],{include:`@regexpContent`}],"sigilStart.interpol":[[/~([a-z]|[A-Z]+)@sigilStartDelimiter/,{token:`sigil.delimiter`,switchTo:`@sigilContinue.$S2.$S3.$S4.$S5`}]],"sigilContinue.interpol":[[/(@sigilEndDelimiter)@sigilModifiers/,{cases:{"$1==$S5":{token:`sigil.delimiter`,next:`@pop`},"@default":`sigil`}}],{include:`@sigilContentInterpol`}],"sigilStart.noInterpol":[[/~([a-z]|[A-Z]+)@sigilStartDelimiter/,{token:`sigil.delimiter`,switchTo:`@sigilContinue.$S2.$S3.$S4.$S5`}]],"sigilContinue.noInterpol":[[/(^|[^\\])\\@sigilEndDelimiter/,`sigil`],[/(@sigilEndDelimiter)@sigilModifiers/,{cases:{"$1==$S5":{token:`sigil.delimiter`,next:`@pop`},"@default":`sigil`}}],{include:`@sigilContent`}],attributes:[[/\@(module|type)?doc (~[sS])?"""/,{token:`comment.block.documentation`,next:`@doubleQuotedHeredocDocstring`}],[/\@(module|type)?doc (~[sS])?'''/,{token:`comment.block.documentation`,next:`@singleQuotedHeredocDocstring`}],[/\@(module|type)?doc (~[sS])?"/,{token:`comment.block.documentation`,next:`@doubleQuotedStringDocstring`}],[/\@(module|type)?doc (~[sS])?'/,{token:`comment.block.documentation`,next:`@singleQuotedStringDocstring`}],[/\@(module|type)?doc false/,`comment.block.documentation`],[/\@(@variableName)/,`variable`]],doubleQuotedHeredocDocstring:[[/"""/,{token:`comment.block.documentation`,next:`@pop`}],{include:`@docstringContent`}],singleQuotedHeredocDocstring:[[/'''/,{token:`comment.block.documentation`,next:`@pop`}],{include:`@docstringContent`}],doubleQuotedStringDocstring:[[/"/,{token:`comment.block.documentation`,next:`@pop`}],{include:`@docstringContent`}],singleQuotedStringDocstring:[[/'/,{token:`comment.block.documentation`,next:`@pop`}],{include:`@docstringContent`}],symbols:[[/\?(\\.|[^\\\s])/,`number.constant`],[/&\d+/,`operator`],[/<<<|>>>/,`operator`],[/[()\[\]\{\}]|<<|>>/,`@brackets`],[/\.\.\./,`identifier`],[/=>/,`punctuation`],[/@operator/,`operator`],[/[:;,.%]/,`punctuation`]],stringContentInterpol:[{include:`@interpolation`},{include:`@escapeChar`},{include:`@stringContent`}],stringContent:[[/./,`string`]],stringConstantContentInterpol:[{include:`@interpolation`},{include:`@escapeChar`},{include:`@stringConstantContent`}],stringConstantContent:[[/./,`constant`]],regexpContentInterpol:[{include:`@interpolation`},{include:`@escapeChar`},{include:`@regexpContent`}],regexpContent:[[/(\s)(#)(\s.*)$/,[`white`,`comment.punctuation`,`comment`]],[/./,`regexp`]],sigilContentInterpol:[{include:`@interpolation`},{include:`@escapeChar`},{include:`@sigilContent`}],sigilContent:[[/./,`sigil`]],docstringContent:[[/./,`comment.block.documentation`]],escapeChar:[[/@escape/,`constant.character.escape`]],interpolation:[[/#{/,{token:`delimiter.bracket.embed`,next:`@interpolationContinue`}]],interpolationContinue:[[/}/,{token:`delimiter.bracket.embed`,next:`@pop`}],{include:`@root`}]}},ze=e({conf:()=>Be,language:()=>Ve}),Be={comments:{blockComment:[`/*`,`*/`],lineComment:`//`},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`,notIn:[`string`]},{open:`[`,close:`]`,notIn:[`string`]},{open:`(`,close:`)`,notIn:[`string`]},{open:`"`,close:`"`,notIn:[`string`]},{open:`'`,close:`'`,notIn:[`string`]}],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`},{open:`<`,close:`>`}]},Ve={defaultToken:``,tokenPostfix:`.flow`,keywords:[`import`,`require`,`export`,`forbid`,`native`,`if`,`else`,`cast`,`unsafe`,`switch`,`default`],types:[`io`,`mutable`,`bool`,`int`,`double`,`string`,`flow`,`void`,`ref`,`true`,`false`,`with`],operators:[`=`,`>`,`<`,`<=`,`>=`,`==`,`!`,`!=`,`:=`,`::=`,`&&`,`||`,`+`,`-`,`*`,`/`,`@`,`&`,`%`,`:`,`->`,`\\`,`$`,`??`,`^`],symbols:/[@$=><!~?:&|+\-*\\\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/[a-zA-Z_]\w*/,{cases:{"@keywords":`keyword`,"@types":`type`,"@default":`identifier`}}],{include:`@whitespace`},[/[{}()\[\]]/,`delimiter`],[/[<>](?!@symbols)/,`delimiter`],[/@symbols/,{cases:{"@operators":`delimiter`,"@default":``}}],[/((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)/,`number`],[/[;,.]/,`delimiter`],[/"([^"\\]|\\.)*$/,`string.invalid`],[/"/,`string`,`@string`]],whitespace:[[/[ \t\r\n]+/,``],[/\/\*/,`comment`,`@comment`],[/\/\/.*$/,`comment`]],comment:[[/[^\/*]+/,`comment`],[/\*\//,`comment`,`@pop`],[/[\/*]/,`comment`]],string:[[/[^\\"]+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/"/,`string`,`@pop`]]}};function He(e){if(e.length===0)throw Error(`Invalid tail call`);return[e.slice(0,e.length-1),e[e.length-1]]}function Ue(e,t,n=(e,t)=>e===t){if(e===t)return!0;if(!e||!t||e.length!==t.length)return!1;for(let r=0,i=e.length;r<i;r++)if(!n(e[r],t[r]))return!1;return!0}function We(e,t){let n=e.length-1;t<n&&(e[t]=e[n]),e.pop()}function Ge(e,t,n){return Ke(e.length,r=>n(e[r],t))}function Ke(e,t){let n=0,r=e-1;for(;n<=r;){let e=(n+r)/2|0,i=t(e);if(i<0)n=e+1;else if(i>0)r=e-1;else return e}return-(n+1)}function qe(e,t,n){if(e|=0,e>=t.length)throw TypeError(`invalid index`);let r=t[Math.floor(t.length*Math.random())],i=[],a=[],o=[];for(let e of t){let t=n(e,r);t<0?i.push(e):t>0?a.push(e):o.push(e)}return e<i.length?qe(e,i,n):e<i.length+o.length?o[0]:qe(e-(i.length+o.length),a,n)}function Je(e,t){let n=[],r;for(let i of e.slice(0).sort(t))!r||t(r[0],i)!==0?(r=[i],n.push(r)):r.push(i);return n}function*Ye(e,t){let n,r;for(let i of e)r!==void 0&&t(r,i)?n.push(i):(n&&(yield n),n=[i]),r=i;n&&(yield n)}function Xe(e,t){for(let n=0;n<=e.length;n++)t(n===0?void 0:e[n-1],n===e.length?void 0:e[n])}function Ze(e,t){for(let n=0;n<e.length;n++)t(n===0?void 0:e[n-1],e[n],n+1===e.length?void 0:e[n+1])}function Qe(e){return e.filter(e=>!!e)}function $e(e){let t=0;for(let n=0;n<e.length;n++)e[n]&&(e[t]=e[n],t+=1);e.length=t}function et(e){return!Array.isArray(e)||e.length===0}function tt(e){return Array.isArray(e)&&e.length>0}function nt(e,t=e=>e){let n=new Set;return e.filter(e=>{let r=t(e);return!n.has(r)&&(n.add(r),!0)})}function rt(e,t){let n=typeof t==`number`?e:0;typeof t==`number`?n=e:(n=0,t=e);let r=[];if(n<=t)for(let e=n;e<t;e++)r.push(e);else for(let e=n;e>t;e--)r.push(e);return r}function it(e,t,n){let r=e.slice(0,t),i=e.slice(t);return r.concat(n,i)}function at(e,t){let n=e.indexOf(t);n>-1&&(e.splice(n,1),e.unshift(t))}function ot(e,t){let n=e.indexOf(t);n>-1&&(e.splice(n,1),e.push(t))}function st(e,t){for(let n of t)e.push(n)}function ct(e,t){let n=[];for(let r of e){let e=t(r);e!==void 0&&n.push(e)}return n}function lt(e){return Array.isArray(e)?e:[e]}function ut(e,t,n){let r=ft(e,t),i=e.length,a=n.length;e.length=i+a;for(let t=i-1;t>=r;t--)e[t+a]=e[t];for(let t=0;t<a;t++)e[t+r]=n[t]}function dt(e,t,n,r){let i=ft(e,t),a=e.splice(i,n);return a===void 0&&(a=[]),ut(e,i,r),a}function ft(e,t){return t<0?Math.max(t+e.length,0):Math.min(t,e.length)}var pt;(function(e){function t(e){return e<0}e.isLessThan=t;function n(e){return e<=0}e.isLessThanOrEqual=n;function r(e){return e>0}e.isGreaterThan=r;function i(e){return e===0}e.isNeitherLessOrGreaterThan=i,e.greaterThan=1,e.lessThan=-1,e.neitherLessOrGreaterThan=0})(pt||={});function mt(e,t){return(n,r)=>t(e(n),e(r))}function ht(...e){return(t,n)=>{for(let r of e){let e=r(t,n);if(!pt.isNeitherLessOrGreaterThan(e))return e}return pt.neitherLessOrGreaterThan}}var gt=(e,t)=>e-t,_t=(e,t)=>gt(+!!e,+!!t);function vt(e){return(t,n)=>-e(t,n)}function yt(e){return(t,n)=>t===void 0?n===void 0?pt.neitherLessOrGreaterThan:pt.lessThan:n===void 0?pt.greaterThan:e(t,n)}var bt=class{constructor(e){this.firstIdx=0,this.items=e,this.lastIdx=this.items.length-1}get length(){return this.lastIdx-this.firstIdx+1}takeWhile(e){let t=this.firstIdx;for(;t<this.items.length&&e(this.items[t]);)t++;let n=t===this.firstIdx?null:this.items.slice(this.firstIdx,t);return this.firstIdx=t,n}peek(){if(this.length!==0)return this.items[this.firstIdx]}dequeue(){let e=this.items[this.firstIdx];return this.firstIdx++,e}takeCount(e){let t=this.items.slice(this.firstIdx,this.firstIdx+e);return this.firstIdx+=e,t}},xt=class e{static{this.empty=new e(e=>{})}constructor(e){this.iterate=e}toArray(){let e=[];return this.iterate(t=>(e.push(t),!0)),e}filter(t){return new e(e=>this.iterate(n=>!t(n)||e(n)))}map(t){return new e(e=>this.iterate(n=>e(t(n))))}findLast(e){let t;return this.iterate(n=>(e(n)&&(t=n),!0)),t}findLastMaxBy(e){let t,n=!0;return this.iterate(r=>((n||pt.isGreaterThan(e(r,t)))&&(n=!1,t=r),!0)),t}},St=class e{constructor(e){this._indexMap=e}static createSortPermutation(t,n){let r=Array.from(t.keys()).sort((e,r)=>n(t[e],t[r]));return new e(r)}apply(e){return e.map((t,n)=>e[this._indexMap[n]])}inverse(){let t=this._indexMap.slice();for(let e=0;e<this._indexMap.length;e++)t[this._indexMap[e]]=e;return new e(t)}};function Ct(e){return e.reduce((e,t)=>e+t,0)}var wt=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?Pt.isErrorNoTelemetry(e)?new Pt(e.message+`
@@ -44,7 +44,7 @@ Received: '{1}'.`,t,Bu.getLexeme(n)),a=n.offset,o=Bu.getLexeme(n);return this._p
44
44
  `)),a=this._computer.computeDiff(r.value,i.value,{ignoreTrimWhitespace:!0,computeMoves:n.computeMoves,extendToSubwords:n.extendToSubwords}),o=r.getTransformer(),s=i.getTransformer(),c=[],l=0;for(let e of a.edits.replacements){let t=e.range.start+l,n=t+e.newText.length,r=o.getRange(new cm(e.range.start,e.range.endExclusive)),i=s.getRange(new cm(t,n));c.push(new Nm(r,i)),l+=e.newText.length-(e.range.endExclusive-e.range.start)}let u=Pm(c,r,i),d=[];if(n.computeMoves)for(let e of a.moves){let t=o.getPosition(e.range.original.start),n=o.getPosition(e.range.original.endExclusive),r=s.getPosition(e.range.modified.start),i=s.getPosition(e.range.modified.endExclusive),a=new _m(t.lineNumber,n.lineNumber),c=new _m(r.lineNumber,i.lineNumber);d.push(new sm(new km(a,c),[]))}return new om(u,d,a.hitTimeout)}},_h={getLegacy:()=>new roe,getDefault:()=>new Coe,getAdvancedExternal:()=>gh(!1),getAdvancedWasm:()=>gh(!0)};function vh(e,t){let n=10**t;return Math.round(e*n)/n}var q=class{constructor(e,t,n,r=1){this._rgbaBrand=void 0,this.r=Math.min(255,Math.max(0,e))|0,this.g=Math.min(255,Math.max(0,t))|0,this.b=Math.min(255,Math.max(0,n))|0,this.a=vh(Math.max(Math.min(1,r),0),3)}static equals(e,t){return e.r===t.r&&e.g===t.g&&e.b===t.b&&e.a===t.a}},yh=class e{constructor(e,t,n,r){this._hslaBrand=void 0,this.h=Math.max(Math.min(360,e),0)|0,this.s=vh(Math.max(Math.min(1,t),0),3),this.l=vh(Math.max(Math.min(1,n),0),3),this.a=vh(Math.max(Math.min(1,r),0),3)}static equals(e,t){return e.h===t.h&&e.s===t.s&&e.l===t.l&&e.a===t.a}static fromRGBA(t){let n=t.r/255,r=t.g/255,i=t.b/255,a=t.a,o=Math.max(n,r,i),s=Math.min(n,r,i),c=0,l=0,u=(s+o)/2,d=o-s;if(d>0){switch(l=Math.min(u<=.5?d/(2*u):d/(2-2*u),1),o){case n:c=(r-i)/d+(r<i?6:0);break;case r:c=(i-n)/d+2;break;case i:c=(n-r)/d+4}c*=60,c=Math.round(c)}return new e(c,l,u,a)}static _hue2rgb(e,t,n){return n<0&&(n+=1),n>1&&--n,n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}static toRGBA(t){let n=t.h/360,{s:r,l:i,a}=t,o,s,c;if(r===0)o=s=c=i;else{let t=i<.5?i*(1+r):i+r-i*r,a=2*i-t;o=e._hue2rgb(a,t,n+1/3),s=e._hue2rgb(a,t,n),c=e._hue2rgb(a,t,n-1/3)}return new q(Math.round(o*255),Math.round(s*255),Math.round(c*255),a)}},bh=class e{constructor(e,t,n,r){this._hsvaBrand=void 0,this.h=Math.max(Math.min(360,e),0)|0,this.s=vh(Math.max(Math.min(1,t),0),3),this.v=vh(Math.max(Math.min(1,n),0),3),this.a=vh(Math.max(Math.min(1,r),0),3)}static equals(e,t){return e.h===t.h&&e.s===t.s&&e.v===t.v&&e.a===t.a}static fromRGBA(t){let n=t.r/255,r=t.g/255,i=t.b/255,a=Math.max(n,r,i),o=a-Math.min(n,r,i),s=a===0?0:o/a,c;return c=o===0?0:a===n?((r-i)/o%6+6)%6:a===r?(i-n)/o+2:(n-r)/o+4,new e(Math.round(c*60),s,a,t.a)}static toRGBA(e){let{h:t,s:n,v:r,a:i}=e,a=r*n,o=a*(1-Math.abs(t/60%2-1)),s=r-a,[c,l,u]=[0,0,0];return t<60?(c=a,l=o):t<120?(c=o,l=a):t<180?(l=a,u=o):t<240?(l=o,u=a):t<300?(c=o,u=a):t<=360&&(c=a,u=o),c=Math.round((c+s)*255),l=Math.round((l+s)*255),u=Math.round((u+s)*255),new q(c,l,u,i)}},J=class e{static fromHex(t){return e.Format.CSS.parseHex(t)||e.red}static equals(e,t){return!e&&!t?!0:!e||!t?!1:e.equals(t)}get hsla(){return this._hsla?this._hsla:yh.fromRGBA(this.rgba)}get hsva(){return this._hsva?this._hsva:bh.fromRGBA(this.rgba)}constructor(e){if(!e)throw Error(`Color needs a value`);if(e instanceof q)this.rgba=e;else if(e instanceof yh)this._hsla=e,this.rgba=yh.toRGBA(e);else if(e instanceof bh)this._hsva=e,this.rgba=bh.toRGBA(e);else throw Error(`Invalid color ctor argument`)}equals(e){return!!e&&q.equals(this.rgba,e.rgba)&&yh.equals(this.hsla,e.hsla)&&bh.equals(this.hsva,e.hsva)}getRelativeLuminance(){let t=e._relativeLuminanceForComponent(this.rgba.r),n=e._relativeLuminanceForComponent(this.rgba.g),r=e._relativeLuminanceForComponent(this.rgba.b);return vh(.2126*t+.7152*n+.0722*r,4)}static _relativeLuminanceForComponent(e){let t=e/255;return t<=.03928?t/12.92:((t+.055)/1.055)**2.4}isLighter(){return(this.rgba.r*299+this.rgba.g*587+this.rgba.b*114)/1e3>=128}isLighterThan(e){return this.getRelativeLuminance()>e.getRelativeLuminance()}isDarkerThan(e){return this.getRelativeLuminance()<e.getRelativeLuminance()}lighten(t){return new e(new yh(this.hsla.h,this.hsla.s,this.hsla.l+this.hsla.l*t,this.hsla.a))}darken(t){return new e(new yh(this.hsla.h,this.hsla.s,this.hsla.l-this.hsla.l*t,this.hsla.a))}transparent(t){let{r:n,g:r,b:i,a}=this.rgba;return new e(new q(n,r,i,a*t))}isTransparent(){return this.rgba.a===0}isOpaque(){return this.rgba.a===1}opposite(){return new e(new q(255-this.rgba.r,255-this.rgba.g,255-this.rgba.b,this.rgba.a))}mix(t,n=.5){let r=Math.min(Math.max(n,0),1),i=this.rgba,a=t.rgba,o=i.r+(a.r-i.r)*r,s=i.g+(a.g-i.g)*r,c=i.b+(a.b-i.b)*r,l=i.a+(a.a-i.a)*r;return new e(new q(o,s,c,l))}makeOpaque(t){if(this.isOpaque()||t.rgba.a!==1)return this;let{r:n,g:r,b:i,a}=this.rgba;return new e(new q(t.rgba.r-a*(t.rgba.r-n),t.rgba.g-a*(t.rgba.g-r),t.rgba.b-a*(t.rgba.b-i),1))}toString(){return this._toString||=e.Format.CSS.format(this),this._toString}toNumber32Bit(){return this._toNumber32Bit||=(this.rgba.r<<24|this.rgba.g<<16|this.rgba.b<<8|this.rgba.a*255<<0)>>>0,this._toNumber32Bit}static getLighterColor(e,t,n){if(e.isLighterThan(t))return e;n||=.5;let r=e.getRelativeLuminance(),i=t.getRelativeLuminance();return n=n*(i-r)/i,e.lighten(n)}static getDarkerColor(e,t,n){if(e.isDarkerThan(t))return e;n||=.5;let r=e.getRelativeLuminance(),i=t.getRelativeLuminance();return n=n*(r-i)/r,e.darken(n)}static{this.white=new e(new q(255,255,255,1))}static{this.black=new e(new q(0,0,0,1))}static{this.red=new e(new q(255,0,0,1))}static{this.blue=new e(new q(0,0,255,1))}static{this.green=new e(new q(0,255,0,1))}static{this.cyan=new e(new q(0,255,255,1))}static{this.lightgrey=new e(new q(211,211,211,1))}static{this.transparent=new e(new q(0,0,0,0))}};(function(e){(function(t){(function(t){function n(t){return t.rgba.a===1?`rgb(${t.rgba.r}, ${t.rgba.g}, ${t.rgba.b})`:e.Format.CSS.formatRGBA(t)}t.formatRGB=n;function r(e){return`rgba(${e.rgba.r}, ${e.rgba.g}, ${e.rgba.b}, ${+e.rgba.a.toFixed(2)})`}t.formatRGBA=r;function i(t){return t.hsla.a===1?`hsl(${t.hsla.h}, ${Math.round(t.hsla.s*100)}%, ${Math.round(t.hsla.l*100)}%)`:e.Format.CSS.formatHSLA(t)}t.formatHSL=i;function a(e){return`hsla(${e.hsla.h}, ${Math.round(e.hsla.s*100)}%, ${Math.round(e.hsla.l*100)}%, ${e.hsla.a.toFixed(2)})`}t.formatHSLA=a;function o(e){let t=e.toString(16);return t.length===2?t:`0`+t}function s(e){return`#${o(e.rgba.r)}${o(e.rgba.g)}${o(e.rgba.b)}`}t.formatHex=s;function c(t,n=!1){return n&&t.rgba.a===1?e.Format.CSS.formatHex(t):`#${o(t.rgba.r)}${o(t.rgba.g)}${o(t.rgba.b)}${o(Math.round(t.rgba.a*255))}`}t.formatHexA=c;function l(t){return t.isOpaque()?e.Format.CSS.formatHex(t):e.Format.CSS.formatRGBA(t)}t.format=l;function u(t){if(t===`transparent`)return e.transparent;if(t.startsWith(`#`))return f(t);if(t.startsWith(`rgba(`)){let n=t.match(/rgba\((?<r>(?:\+|-)?\d+), *(?<g>(?:\+|-)?\d+), *(?<b>(?:\+|-)?\d+), *(?<a>(?:\+|-)?\d+(\.\d+)?)\)/);if(!n)throw Error(`Invalid color format `+t);return new e(new q(parseInt(n.groups?.r??`0`),parseInt(n.groups?.g??`0`),parseInt(n.groups?.b??`0`),parseFloat(n.groups?.a??`0`)))}if(t.startsWith(`rgb(`)){let n=t.match(/rgb\((?<r>(?:\+|-)?\d+), *(?<g>(?:\+|-)?\d+), *(?<b>(?:\+|-)?\d+)\)/);if(!n)throw Error(`Invalid color format `+t);return new e(new q(parseInt(n.groups?.r??`0`),parseInt(n.groups?.g??`0`),parseInt(n.groups?.b??`0`)))}return d(t)}t.parse=u;function d(t){switch(t){case`aliceblue`:return new e(new q(240,248,255,1));case`antiquewhite`:return new e(new q(250,235,215,1));case`aqua`:return new e(new q(0,255,255,1));case`aquamarine`:return new e(new q(127,255,212,1));case`azure`:return new e(new q(240,255,255,1));case`beige`:return new e(new q(245,245,220,1));case`bisque`:return new e(new q(255,228,196,1));case`black`:return new e(new q(0,0,0,1));case`blanchedalmond`:return new e(new q(255,235,205,1));case`blue`:return new e(new q(0,0,255,1));case`blueviolet`:return new e(new q(138,43,226,1));case`brown`:return new e(new q(165,42,42,1));case`burlywood`:return new e(new q(222,184,135,1));case`cadetblue`:return new e(new q(95,158,160,1));case`chartreuse`:return new e(new q(127,255,0,1));case`chocolate`:return new e(new q(210,105,30,1));case`coral`:return new e(new q(255,127,80,1));case`cornflowerblue`:return new e(new q(100,149,237,1));case`cornsilk`:return new e(new q(255,248,220,1));case`crimson`:return new e(new q(220,20,60,1));case`cyan`:return new e(new q(0,255,255,1));case`darkblue`:return new e(new q(0,0,139,1));case`darkcyan`:return new e(new q(0,139,139,1));case`darkgoldenrod`:return new e(new q(184,134,11,1));case`darkgray`:return new e(new q(169,169,169,1));case`darkgreen`:return new e(new q(0,100,0,1));case`darkgrey`:return new e(new q(169,169,169,1));case`darkkhaki`:return new e(new q(189,183,107,1));case`darkmagenta`:return new e(new q(139,0,139,1));case`darkolivegreen`:return new e(new q(85,107,47,1));case`darkorange`:return new e(new q(255,140,0,1));case`darkorchid`:return new e(new q(153,50,204,1));case`darkred`:return new e(new q(139,0,0,1));case`darksalmon`:return new e(new q(233,150,122,1));case`darkseagreen`:return new e(new q(143,188,143,1));case`darkslateblue`:return new e(new q(72,61,139,1));case`darkslategray`:return new e(new q(47,79,79,1));case`darkslategrey`:return new e(new q(47,79,79,1));case`darkturquoise`:return new e(new q(0,206,209,1));case`darkviolet`:return new e(new q(148,0,211,1));case`deeppink`:return new e(new q(255,20,147,1));case`deepskyblue`:return new e(new q(0,191,255,1));case`dimgray`:return new e(new q(105,105,105,1));case`dimgrey`:return new e(new q(105,105,105,1));case`dodgerblue`:return new e(new q(30,144,255,1));case`firebrick`:return new e(new q(178,34,34,1));case`floralwhite`:return new e(new q(255,250,240,1));case`forestgreen`:return new e(new q(34,139,34,1));case`fuchsia`:return new e(new q(255,0,255,1));case`gainsboro`:return new e(new q(220,220,220,1));case`ghostwhite`:return new e(new q(248,248,255,1));case`gold`:return new e(new q(255,215,0,1));case`goldenrod`:return new e(new q(218,165,32,1));case`gray`:return new e(new q(128,128,128,1));case`green`:return new e(new q(0,128,0,1));case`greenyellow`:return new e(new q(173,255,47,1));case`grey`:return new e(new q(128,128,128,1));case`honeydew`:return new e(new q(240,255,240,1));case`hotpink`:return new e(new q(255,105,180,1));case`indianred`:return new e(new q(205,92,92,1));case`indigo`:return new e(new q(75,0,130,1));case`ivory`:return new e(new q(255,255,240,1));case`khaki`:return new e(new q(240,230,140,1));case`lavender`:return new e(new q(230,230,250,1));case`lavenderblush`:return new e(new q(255,240,245,1));case`lawngreen`:return new e(new q(124,252,0,1));case`lemonchiffon`:return new e(new q(255,250,205,1));case`lightblue`:return new e(new q(173,216,230,1));case`lightcoral`:return new e(new q(240,128,128,1));case`lightcyan`:return new e(new q(224,255,255,1));case`lightgoldenrodyellow`:return new e(new q(250,250,210,1));case`lightgray`:return new e(new q(211,211,211,1));case`lightgreen`:return new e(new q(144,238,144,1));case`lightgrey`:return new e(new q(211,211,211,1));case`lightpink`:return new e(new q(255,182,193,1));case`lightsalmon`:return new e(new q(255,160,122,1));case`lightseagreen`:return new e(new q(32,178,170,1));case`lightskyblue`:return new e(new q(135,206,250,1));case`lightslategray`:return new e(new q(119,136,153,1));case`lightslategrey`:return new e(new q(119,136,153,1));case`lightsteelblue`:return new e(new q(176,196,222,1));case`lightyellow`:return new e(new q(255,255,224,1));case`lime`:return new e(new q(0,255,0,1));case`limegreen`:return new e(new q(50,205,50,1));case`linen`:return new e(new q(250,240,230,1));case`magenta`:return new e(new q(255,0,255,1));case`maroon`:return new e(new q(128,0,0,1));case`mediumaquamarine`:return new e(new q(102,205,170,1));case`mediumblue`:return new e(new q(0,0,205,1));case`mediumorchid`:return new e(new q(186,85,211,1));case`mediumpurple`:return new e(new q(147,112,219,1));case`mediumseagreen`:return new e(new q(60,179,113,1));case`mediumslateblue`:return new e(new q(123,104,238,1));case`mediumspringgreen`:return new e(new q(0,250,154,1));case`mediumturquoise`:return new e(new q(72,209,204,1));case`mediumvioletred`:return new e(new q(199,21,133,1));case`midnightblue`:return new e(new q(25,25,112,1));case`mintcream`:return new e(new q(245,255,250,1));case`mistyrose`:return new e(new q(255,228,225,1));case`moccasin`:return new e(new q(255,228,181,1));case`navajowhite`:return new e(new q(255,222,173,1));case`navy`:return new e(new q(0,0,128,1));case`oldlace`:return new e(new q(253,245,230,1));case`olive`:return new e(new q(128,128,0,1));case`olivedrab`:return new e(new q(107,142,35,1));case`orange`:return new e(new q(255,165,0,1));case`orangered`:return new e(new q(255,69,0,1));case`orchid`:return new e(new q(218,112,214,1));case`palegoldenrod`:return new e(new q(238,232,170,1));case`palegreen`:return new e(new q(152,251,152,1));case`paleturquoise`:return new e(new q(175,238,238,1));case`palevioletred`:return new e(new q(219,112,147,1));case`papayawhip`:return new e(new q(255,239,213,1));case`peachpuff`:return new e(new q(255,218,185,1));case`peru`:return new e(new q(205,133,63,1));case`pink`:return new e(new q(255,192,203,1));case`plum`:return new e(new q(221,160,221,1));case`powderblue`:return new e(new q(176,224,230,1));case`purple`:return new e(new q(128,0,128,1));case`rebeccapurple`:return new e(new q(102,51,153,1));case`red`:return new e(new q(255,0,0,1));case`rosybrown`:return new e(new q(188,143,143,1));case`royalblue`:return new e(new q(65,105,225,1));case`saddlebrown`:return new e(new q(139,69,19,1));case`salmon`:return new e(new q(250,128,114,1));case`sandybrown`:return new e(new q(244,164,96,1));case`seagreen`:return new e(new q(46,139,87,1));case`seashell`:return new e(new q(255,245,238,1));case`sienna`:return new e(new q(160,82,45,1));case`silver`:return new e(new q(192,192,192,1));case`skyblue`:return new e(new q(135,206,235,1));case`slateblue`:return new e(new q(106,90,205,1));case`slategray`:return new e(new q(112,128,144,1));case`slategrey`:return new e(new q(112,128,144,1));case`snow`:return new e(new q(255,250,250,1));case`springgreen`:return new e(new q(0,255,127,1));case`steelblue`:return new e(new q(70,130,180,1));case`tan`:return new e(new q(210,180,140,1));case`teal`:return new e(new q(0,128,128,1));case`thistle`:return new e(new q(216,191,216,1));case`tomato`:return new e(new q(255,99,71,1));case`turquoise`:return new e(new q(64,224,208,1));case`violet`:return new e(new q(238,130,238,1));case`wheat`:return new e(new q(245,222,179,1));case`white`:return new e(new q(255,255,255,1));case`whitesmoke`:return new e(new q(245,245,245,1));case`yellow`:return new e(new q(255,255,0,1));case`yellowgreen`:return new e(new q(154,205,50,1));default:return null}}function f(t){let n=t.length;if(n===0||t.charCodeAt(0)!==35)return null;if(n===7)return new e(new q(16*p(t.charCodeAt(1))+p(t.charCodeAt(2)),16*p(t.charCodeAt(3))+p(t.charCodeAt(4)),16*p(t.charCodeAt(5))+p(t.charCodeAt(6)),1));if(n===9)return new e(new q(16*p(t.charCodeAt(1))+p(t.charCodeAt(2)),16*p(t.charCodeAt(3))+p(t.charCodeAt(4)),16*p(t.charCodeAt(5))+p(t.charCodeAt(6)),(16*p(t.charCodeAt(7))+p(t.charCodeAt(8)))/255));if(n===4){let n=p(t.charCodeAt(1)),r=p(t.charCodeAt(2)),i=p(t.charCodeAt(3));return new e(new q(16*n+n,16*r+r,16*i+i))}if(n===5){let n=p(t.charCodeAt(1)),r=p(t.charCodeAt(2)),i=p(t.charCodeAt(3)),a=p(t.charCodeAt(4));return new e(new q(16*n+n,16*r+r,16*i+i,(16*a+a)/255))}return null}t.parseHex=f;function p(e){switch(e){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}})(t.CSS||={})})(e.Format||={})})(J||={});function xh(e){let t=[];for(let n of e){let e=Number(n);(e||e===0&&n.replace(/\s/g,``)!==``)&&t.push(e)}return t}function Sh(e,t,n,r){return{red:e/255,blue:n/255,green:t/255,alpha:r}}function Ch(e,t){let n=t.index,r=t[0].length;if(n===void 0)return;let i=e.positionAt(n);return{startLineNumber:i.lineNumber,startColumn:i.column,endLineNumber:i.lineNumber,endColumn:i.column+r}}function Moe(e,t){if(!e)return;let n=J.Format.CSS.parseHex(t);if(n)return{range:e,color:Sh(n.rgba.r,n.rgba.g,n.rgba.b,n.rgba.a)}}function wh(e,t,n){if(!e||t.length!==1)return;let r=xh(t[0].values());return{range:e,color:Sh(r[0],r[1],r[2],n?r[3]:1)}}function Th(e,t,n){if(!e||t.length!==1)return;let r=xh(t[0].values()),i=new J(new yh(r[0],r[1]/100,r[2]/100,n?r[3]:1));return{range:e,color:Sh(i.rgba.r,i.rgba.g,i.rgba.b,i.rgba.a)}}function Eh(e,t){return typeof e==`string`?[...e.matchAll(t)]:e.findMatches(t)}function Noe(e){let t=[],n=Eh(e,/\b(rgb|rgba|hsl|hsla)(\([0-9\s,.\%\/]*\))|^(#)([A-Fa-f0-9]{3})\b|^(#)([A-Fa-f0-9]{4})\b|^(#)([A-Fa-f0-9]{6})\b|^(#)([A-Fa-f0-9]{8})\b|(?<=['"\s])(#)([A-Fa-f0-9]{3})\b|(?<=['"\s])(#)([A-Fa-f0-9]{4})\b|(?<=['"\s])(#)([A-Fa-f0-9]{6})\b|(?<=['"\s])(#)([A-Fa-f0-9]{8})\b/gm);if(n.length>0)for(let r of n){let n=r.filter(e=>e!==void 0),i=n[1],a=n[2];if(!a)continue;let o;i===`rgb`?o=wh(Ch(e,r),Eh(a,/^\(\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*[\s,]\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*[\s,]\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*\)$/gm),!1):i===`rgba`?o=wh(Ch(e,r),Eh(a,/^\(\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*[\s,]\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*[\s,]\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*(?:[\s,]|[\s]*\/)\s*(0[.][0-9]+|[.][0-9]+|[01][.]|[01])\s*\)$/gm),!0):i===`hsl`?o=Th(Ch(e,r),Eh(a,/^\(\s*((?:360(?:\.0+)?|(?:36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])(?:\.\d+)?))\s*[\s,]\s*(100(?:\.0+)?|\d{1,2}[.]\d*|\d{1,2})%\s*[\s,]\s*(100(?:\.0+)?|\d{1,2}[.]\d*|\d{1,2})%\s*\)$/gm),!1):i===`hsla`?o=Th(Ch(e,r),Eh(a,/^\(\s*((?:360(?:\.0+)?|(?:36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])(?:\.\d+)?))\s*[\s,]\s*(100(?:\.0+)?|\d{1,2}[.]\d*|\d{1,2})%\s*[\s,]\s*(100(?:\.0+)?|\d{1,2}[.]\d*|\d{1,2})%\s*(?:[\s,]|[\s]*\/)\s*(0[.][0-9]+|[.][0-9]+|[01][.]0*|[01])\s*\)$/gm),!0):i===`#`&&(o=Moe(Ch(e,r),i+a)),o&&t.push(o)}return t}function Poe(e){return!e||typeof e.getValue!=`function`||typeof e.positionAt!=`function`?[]:Noe(e)}var Foe=/^-+|-+$/g,Ioe=100;function Loe(e,t){let n=[];if(t.findRegionSectionHeaders&&t.foldingRules?.markers){let r=Roe(e,t);n=n.concat(r)}if(t.findMarkSectionHeaders){let r=zoe(e,t);n=n.concat(r)}return n}function Roe(e,t){let n=[],r=e.getLineCount();for(let i=1;i<=r;i++){let r=e.getLineContent(i),a=r.match(t.foldingRules.markers.start);if(a){let e={startLineNumber:i,startColumn:a[0].length+1,endLineNumber:i,endColumn:r.length+1};if(e.endColumn>e.startColumn){let t={range:e,...Boe(r.substring(a[0].length)),shouldBeInComments:!1};(t.text||t.hasSeparatorLine)&&n.push(t)}}}return n}function zoe(e,t){let n=[],r=e.getLineCount();if(!t.markSectionHeaderRegex||t.markSectionHeaderRegex.trim()===``)return n;let i=Zp(t.markSectionHeaderRegex),a=new RegExp(t.markSectionHeaderRegex,`gdm${i?`s`:``}`);if(_o(a))return n;for(let t=1;t<=r;t+=95){let i=Math.min(t+Ioe-1,r),o=[];for(let n=t;n<=i;n++)o.push(e.getLineContent(n));let s=o.join(`
45
45
  `);a.lastIndex=0;let c;for(;(c=a.exec(s))!==null;){let e=s.substring(0,c.index),r=(e.match(/\n/g)||[]).length,i=t+r,o=c[0].split(`
46
46
  `),l=o.length,u=i+l-1,d=e.lastIndexOf(`
47
- `)+1,f=c.index-d+1,p=o[o.length-1],m={range:{startLineNumber:i,startColumn:f,endLineNumber:u,endColumn:l===1?f+c[0].length:p.length+1},text:(c.groups??{}).label??``,hasSeparatorLine:((c.groups??{}).separator??``)!==``,shouldBeInComments:!0};(m.text||m.hasSeparatorLine)&&(n.length===0||n[n.length-1].range.endLineNumber<m.range.startLineNumber)&&n.push(m),a.lastIndex=c.index+c[0].length}}return n}function Boe(e){e=e.trim();let t=e.startsWith(`-`);return e=e.replace(Foe,``),{text:e,hasSeparatorLine:t}}var Voe=class{constructor(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(e,t){e=Pp(e);let n=this.values,r=this.prefixSum,i=t.length;return i!==0&&(this.values=new Uint32Array(n.length+i),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e),e+i),this.values.set(t,e),e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),this.prefixSum=new Uint32Array(this.values.length),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(e,t){return e=Pp(e),t=Pp(t),this.values[e]!==t&&(this.values[e]=t,e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),!0)}removeValues(e,t){e=Pp(e),t=Pp(t);let n=this.values,r=this.prefixSum;if(e>=n.length)return!1;let i=n.length-e;return t>=i&&(t=i),t!==0&&(this.values=new Uint32Array(n.length-t),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e+t),e),this.prefixSum=new Uint32Array(this.values.length),e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return this.values.length===0?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(e){return e<0?0:(e=Pp(e),this._getPrefixSum(e))}_getPrefixSum(e){if(e<=this.prefixSumValidIndex[0])return this.prefixSum[e];let t=this.prefixSumValidIndex[0]+1;t===0&&(this.prefixSum[0]=this.values[0],t++),e>=this.values.length&&(e=this.values.length-1);for(let n=t;n<=e;n++)this.prefixSum[n]=this.prefixSum[n-1]+this.values[n];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],e),this.prefixSum[e]}getIndexOf(e){e=Math.floor(e),this.getTotalSum();let t=0,n=this.values.length-1,r=0,i=0,a=0;for(;t<=n;)if(r=t+(n-t)/2|0,i=this.prefixSum[r],a=i-this.values[r],e<a)n=r-1;else if(e>=i)t=r+1;else break;return new Dh(r,e-a)}},Hoe=class{constructor(e){this._values=e,this._isValid=!1,this._validEndIndex=-1,this._prefixSum=[],this._indexBySum=[]}getTotalSum(){return this._ensureValid(),this._indexBySum.length}getPrefixSum(e){return this._ensureValid(),e===0?0:this._prefixSum[e-1]}getIndexOf(e){this._ensureValid();let t=this._indexBySum[e];if(t===void 0){let t=Math.max(0,this._values.length-1);return new Dh(t,e-(t>0?this._prefixSum[t-1]:0))}return new Dh(t,e-(t>0?this._prefixSum[t-1]:0))}removeValues(e,t){this._values.splice(e,t),this._invalidate(e)}insertValues(e,t){this._values=it(this._values,e,t),this._invalidate(e)}_invalidate(e){this._isValid=!1,this._validEndIndex=Math.min(this._validEndIndex,e-1)}_ensureValid(){if(!this._isValid){for(let e=this._validEndIndex+1,t=this._values.length;e<t;e++){let t=this._values[e],n=e>0?this._prefixSum[e-1]:0;this._prefixSum[e]=n+t;for(let r=0;r<t;r++)this._indexBySum[n+r]=e}this._prefixSum.length=this._values.length,this._indexBySum.length=this._values.length>0?this._prefixSum[this._values.length-1]:0,this._isValid=!0,this._validEndIndex=this._values.length-1}}setValue(e,t){this._values[e]!==t&&(this._values[e]=t,this._invalidate(e))}},Dh=class{constructor(e,t){this.index=e,this.remainder=t,this._prefixSumIndexOfResultBrand=void 0,this.index=e,this.remainder=t}},Uoe=class{constructor(e,t,n,r){this._uri=e,this._lines=t,this._eol=n,this._versionId=r,this._lineStarts=null,this._cachedTextValue=null}dispose(){this._lines.length=0}get version(){return this._versionId}getText(){return this._cachedTextValue===null&&(this._cachedTextValue=this._lines.join(this._eol)),this._cachedTextValue}onEvents(e){e.eol&&e.eol!==this._eol&&(this._eol=e.eol,this._lineStarts=null);let t=e.changes;for(let e of t)this._acceptDeleteRange(e.range),this._acceptInsertText(new M(e.range.startLineNumber,e.range.startColumn),e.text);this._versionId=e.versionId,this._cachedTextValue=null}_ensureLineStarts(){if(!this._lineStarts){let e=this._eol.length,t=this._lines.length,n=new Uint32Array(t);for(let r=0;r<t;r++)n[r]=this._lines[r].length+e;this._lineStarts=new Voe(n)}}_setLineText(e,t){this._lines[e]=t,this._lineStarts&&this._lineStarts.setValue(e,this._lines[e].length+this._eol.length)}_acceptDeleteRange(e){if(e.startLineNumber===e.endLineNumber){if(e.startColumn===e.endColumn)return;this._setLineText(e.startLineNumber-1,this._lines[e.startLineNumber-1].substring(0,e.startColumn-1)+this._lines[e.startLineNumber-1].substring(e.endColumn-1));return}this._setLineText(e.startLineNumber-1,this._lines[e.startLineNumber-1].substring(0,e.startColumn-1)+this._lines[e.endLineNumber-1].substring(e.endColumn-1)),this._lines.splice(e.startLineNumber,e.endLineNumber-e.startLineNumber),this._lineStarts&&this._lineStarts.removeValues(e.startLineNumber,e.endLineNumber-e.startLineNumber)}_acceptInsertText(e,t){if(t.length===0)return;let n=vo(t);if(n.length===1){this._setLineText(e.lineNumber-1,this._lines[e.lineNumber-1].substring(0,e.column-1)+n[0]+this._lines[e.lineNumber-1].substring(e.column-1));return}n[n.length-1]+=this._lines[e.lineNumber-1].substring(e.column-1),this._setLineText(e.lineNumber-1,this._lines[e.lineNumber-1].substring(0,e.column-1)+n[0]);let r=new Uint32Array(n.length-1);for(let t=1;t<n.length;t++)this._lines.splice(e.lineNumber+t-1,0,n[t]),r[t-1]=n[t].length+this._eol.length;this._lineStarts&&this._lineStarts.insertValues(e.lineNumber,r)}},Woe=6e4,Goe=class extends O{constructor(e,t,n=!1){if(super(),this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),this._proxy=e,this._modelService=t,!n){let e=new Ms;e.cancelAndSet(()=>this._checkStopModelSync(),Math.round(Woe/2)),this._register(e)}}dispose(){for(let e in this._syncedModels)Hn(this._syncedModels[e]);this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),super.dispose()}ensureSyncedResources(e,t=!1){for(let n of e){let e=n.toString();this._syncedModels[e]||this._beginModelSync(n,t),this._syncedModels[e]&&(this._syncedModelsLastUsedTime[e]=new Date().getTime())}}_checkStopModelSync(){let e=new Date().getTime(),t=[];for(let n in this._syncedModelsLastUsedTime)e-this._syncedModelsLastUsedTime[n]>6e4&&t.push(n);for(let e of t)this._stopModelSync(e)}_beginModelSync(e,t){let n=this._modelService.getModel(e);if(!n||!t&&n.isTooLargeForSyncing())return;let r=e.toString();this._proxy.$acceptNewModel({url:n.uri.toString(),lines:n.getLinesContent(),EOL:n.getEOL(),versionId:n.getVersionId()});let i=new D;i.add(n.onDidChangeContent(e=>{this._proxy.$acceptModelChanged(r.toString(),e)})),i.add(n.onWillDispose(()=>{this._stopModelSync(r)})),i.add(E(()=>{this._proxy.$acceptRemovedModel(r)})),this._syncedModels[r]=i}_stopModelSync(e){let t=this._syncedModels[e];delete this._syncedModels[e],delete this._syncedModelsLastUsedTime[e],Hn(t)}},Koe=class{constructor(){this._models=Object.create(null)}getModel(e){return this._models[e]}getModels(){let e=[];return Object.keys(this._models).forEach(t=>e.push(this._models[t])),e}$acceptNewModel(e){this._models[e.url]=new qoe(ji.parse(e.url),e.lines,e.EOL,e.versionId)}$acceptModelChanged(e,t){this._models[e]&&this._models[e].onEvents(t)}$acceptRemovedModel(e){this._models[e]&&delete this._models[e]}},qoe=class extends Uoe{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}findMatches(e){let t=[];for(let n=0;n<this._lines.length;n++){let r=this._lines[n],i=this.offsetAt(new M(n+1,1)),a=r.matchAll(e);for(let e of a)(e.index||e.index===0)&&(e.index+=i),t.push(e)}return t}getLinesContent(){return this._lines.slice(0)}getLineCount(){return this._lines.length}getLineContent(e){return this._lines[e-1]}getWordAtPosition(e,t){let n=xr(e.column,yr(t),this._lines[e.lineNumber-1],0);return n?new N(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn):null}words(e){let t=this._lines,n=this._wordenize.bind(this),r=0,i=``,a=0,o=[];return{*[Symbol.iterator](){for(;;)if(a<o.length){let e=i.substring(o[a].start,o[a].end);a+=1,yield e}else if(r<t.length)i=t[r],o=n(i,e),a=0,r+=1;else break}}}getLineWords(e,t){let n=this._lines[e-1],r=this._wordenize(n,t),i=[];for(let e of r)i.push({word:n.substring(e.start,e.end),startColumn:e.start+1,endColumn:e.end+1});return i}_wordenize(e,t){let n=[],r;for(t.lastIndex=0;(r=t.exec(e))&&r[0].length!==0;)n.push({start:r.index,end:r.index+r[0].length});return n}getValueInRange(e){if(e=this._validateRange(e),e.startLineNumber===e.endLineNumber)return this._lines[e.startLineNumber-1].substring(e.startColumn-1,e.endColumn-1);let t=this._eol,n=e.startLineNumber-1,r=e.endLineNumber-1,i=[];i.push(this._lines[n].substring(e.startColumn-1));for(let e=n+1;e<r;e++)i.push(this._lines[e]);return i.push(this._lines[r].substring(0,e.endColumn-1)),i.join(t)}offsetAt(e){return e=this._validatePosition(e),this._ensureLineStarts(),this._lineStarts.getPrefixSum(e.lineNumber-2)+(e.column-1)}positionAt(e){e=Math.floor(e),e=Math.max(0,e),this._ensureLineStarts();let t=this._lineStarts.getIndexOf(e),n=this._lines[t.index].length;return{lineNumber:1+t.index,column:1+Math.min(t.remainder,n)}}_validateRange(e){let t=this._validatePosition({lineNumber:e.startLineNumber,column:e.startColumn}),n=this._validatePosition({lineNumber:e.endLineNumber,column:e.endColumn});return t.lineNumber!==e.startLineNumber||t.column!==e.startColumn||n.lineNumber!==e.endLineNumber||n.column!==e.endColumn?{startLineNumber:t.lineNumber,startColumn:t.column,endLineNumber:n.lineNumber,endColumn:n.column}:e}_validatePosition(e){if(!M.isIPosition(e))throw Error(`bad position`);let{lineNumber:t,column:n}=e,r=!1;if(t<1)t=1,n=1,r=!0;else if(t>this._lines.length)t=this._lines.length,n=this._lines[t-1].length+1,r=!0;else{let e=this._lines[t-1].length+1;n<1?(n=1,r=!0):n>e&&(n=e,r=!0)}return r?{lineNumber:t,column:n}:e}},Joe=class e{constructor(e=null){this._foreignModule=e,this._requestHandlerBrand=void 0,this._workerTextModelSyncServer=new Koe}dispose(){}async $ping(){return`pong`}_getModel(e){return this._workerTextModelSyncServer.getModel(e)}getModels(){return this._workerTextModelSyncServer.getModels()}$acceptNewModel(e){this._workerTextModelSyncServer.$acceptNewModel(e)}$acceptModelChanged(e,t){this._workerTextModelSyncServer.$acceptModelChanged(e,t)}$acceptRemovedModel(e){this._workerTextModelSyncServer.$acceptRemovedModel(e)}async $computeUnicodeHighlights(e,t,n){let r=this._getModel(e);return r?rm.computeUnicodeHighlights(r,t,n):{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}}async $findSectionHeaders(e,t){let n=this._getModel(e);return n?Loe(n,t):[]}async $computeDiff(t,n,r,i){let a=this._getModel(t),o=this._getModel(n);if(!a||!o)return null;let s=await Yoe(i);return e.computeDiff(a,o,r,s)}static computeDiff(e,t,n,r){let i=e.getLinesContent(),a=t.getLinesContent(),o=r.computeDiff(i,a,n),s=o.changes.length>0?!1:this._modelsAreIdentical(e,t);function c(e){return e.map(e=>[e.original.startLineNumber,e.original.endLineNumberExclusive,e.modified.startLineNumber,e.modified.endLineNumberExclusive,e.innerChanges?.map(e=>[e.originalRange.startLineNumber,e.originalRange.startColumn,e.originalRange.endLineNumber,e.originalRange.endColumn,e.modifiedRange.startLineNumber,e.modifiedRange.startColumn,e.modifiedRange.endLineNumber,e.modifiedRange.endColumn])])}return{identical:s,quitEarly:o.hitTimeout,changes:c(o.changes),moves:o.moves.map(e=>[e.lineRangeMapping.original.startLineNumber,e.lineRangeMapping.original.endLineNumberExclusive,e.lineRangeMapping.modified.startLineNumber,e.lineRangeMapping.modified.endLineNumberExclusive,c(e.changes)])}}static _modelsAreIdentical(e,t){let n=e.getLineCount();if(n!==t.getLineCount())return!1;for(let r=1;r<=n;r++)if(e.getLineContent(r)!==t.getLineContent(r))return!1;return!0}static{this._diffLimit=1e5}async $computeMoreMinimalEdits(t,n,r){let i=this._getModel(t);if(!i)return n;let a=[],o;n=n.slice(0).sort((e,t)=>e.range&&t.range?N.compareRangesUsingStarts(e.range,t.range):+!e.range-!t.range);let s=0;for(let e=1;e<n.length;e++)N.getEndPosition(n[s].range).equals(N.getStartPosition(n[e].range))?(n[s].range=N.fromPositions(N.getStartPosition(n[s].range),N.getEndPosition(n[e].range)),n[s].text+=n[e].text):(s++,n[s]=n[e]);n.length=s+1;for(let{range:t,text:s,eol:c}of n){if(typeof c==`number`&&(o=c),N.isEmpty(t)&&!s)continue;let n=i.getValueInRange(t);if(s=s.replace(/\r\n|\n|\r/g,i.eol),n===s)continue;if(Math.max(s.length,n.length)>e._diffLimit){a.push({range:t,text:s});continue}let l=Mae(n,s,r),u=i.offsetAt(N.lift(t).getStartPosition());for(let e of l){let t=i.positionAt(u+e.originalStart),n=i.positionAt(u+e.originalStart+e.originalLength),r={text:s.substr(e.modifiedStart,e.modifiedLength),range:{startLineNumber:t.lineNumber,startColumn:t.column,endLineNumber:n.lineNumber,endColumn:n.column}};i.getValueInRange(r.range)!==r.text&&a.push(r)}}return typeof o==`number`&&a.push({eol:o,text:``,range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),a}async $computeLinks(e){let t=this._getModel(e);return t?Rae(t):null}async $computeDefaultDocumentColors(e){let t=this._getModel(e);return t?Poe(t):null}static{this._suggestionsLimit=1e4}async $textualSuggest(t,n,r,i){let a=new Qn,o=new RegExp(r,i),s=new Set;outer:for(let r of t){let t=this._getModel(r);if(t){for(let r of t.words(o))if(r!==n&&isNaN(Number(r))&&(s.add(r),s.size>e._suggestionsLimit))break outer}}return{words:Array.from(s),duration:a.elapsed()}}async $computeWordRanges(e,t,n,r){let i=this._getModel(e);if(!i)return Object.create(null);let a=new RegExp(n,r),o=Object.create(null);for(let e=t.startLineNumber;e<t.endLineNumber;e++){let t=i.getLineWords(e,a);for(let n of t){if(!isNaN(Number(n.word)))continue;let t=o[n.word];t||(t=[],o[n.word]=t),t.push({startLineNumber:e,startColumn:n.startColumn,endLineNumber:e,endColumn:n.endColumn})}}return o}async $navigateValueSet(e,t,n,r,i){let a=this._getModel(e);if(!a)return null;let o=new RegExp(r,i);t.startColumn===t.endColumn&&(t={startLineNumber:t.startLineNumber,startColumn:t.startColumn,endLineNumber:t.endLineNumber,endColumn:t.endColumn+1});let s=a.getValueInRange(t),c=a.getWordAtPosition({lineNumber:t.startLineNumber,column:t.startColumn},o);if(!c)return null;let l=a.getValueInRange(c);return zae.INSTANCE.navigateValueSet(t,s,c,l,n)}$fmr(e,t){if(!this._foreignModule||typeof this._foreignModule[e]!=`function`)return Promise.reject(Error(`Missing requestHandler or method: `+e));try{return Promise.resolve(this._foreignModule[e].apply(this._foreignModule,t))}catch(e){return Promise.reject(e)}}};typeof importScripts==`function`&&(globalThis.monaco=ro());function Yoe(e){switch(e){case`legacy`:return _h.getLegacy();case`advanced`:return _h.getDefault();case`advanced-external`:return _h.getAdvancedExternal();case`advanced-wasm`:return _h.getAdvancedWasm()}}var Oh=Eu(`textResourceConfigurationService`),kh=Eu(`textResourcePropertiesService`),Ah=Eu(`ILanguageFeaturesService`),Xoe=class e{static{this.CHANNEL_NAME=`editorWorkerHost`}static getChannel(t){return t.getChannel(e.CHANNEL_NAME)}static setChannel(t,n){t.setChannel(e.CHANNEL_NAME,n)}};function Zoe(){return rp.defaultChatAgent?.completionsEnablementSetting}function Qoe(e,t,n=`*`){let r=Zoe();return r?jh(e.getValue(t,r),n):!1}function jh(e,t=`*`){return Ut(e)?e[t]===void 0?!!e[`*`]:!!e[t]:!1}var Mh=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Nh=function(e,t){return function(n,r){t(n,r,e)}},Ph,Fh=3e5;function Ih(e,t){let n=e.getModel(t);return!(!n||n.isTooLargeForSyncing())}var Lh=class extends O{static{Ph=this}static{this.workerDescriptor=new Xie({esmModuleLocation:()=>Ws.asBrowserUri(`vs/editor/common/services/editorWebWorkerMain.js`),esmModuleLocationBundler:()=>new URL(`data:text/javascript;base64,aW1wb3J0IHsgYm9vdHN0cmFwV2ViV29ya2VyIH0gZnJvbSAnLi4vLi4vLi4vYmFzZS9jb21tb24vd29ya2VyL3dlYldvcmtlckJvb3RzdHJhcC5qcyc7CmltcG9ydCB7IEVkaXRvcldvcmtlciB9IGZyb20gJy4vZWRpdG9yV2ViV29ya2VyLmpzJzsKCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIExpY2Vuc2UudHh0IGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24uCiAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpib290c3RyYXBXZWJXb3JrZXIoKCkgPT4gbmV3IEVkaXRvcldvcmtlcihudWxsKSk7Cg==`,``+import.meta.url),label:`editorWorkerService`})}constructor(e,t,n,r,i,a){super(),this._languageConfigurationService=r,this._webWorkerService=a,this._modelService=e,this._workerManager=this._register(new Rh(Ph.workerDescriptor,this._modelService,this._webWorkerService)),this._logService=n,this._register(i.linkProvider.register({language:`*`,hasAccessToAllModels:!0},{provideLinks:async(e,t)=>{if(!Ih(this._modelService,e.uri))return Promise.resolve({links:[]});let n=await(await this._workerWithResources([e.uri])).$computeLinks(e.uri.toString());return n&&{links:n}}})),this._register(i.completionProvider.register(`*`,new $oe(this._workerManager,t,this._modelService,this._languageConfigurationService,this._logService,i)))}canComputeUnicodeHighlights(e){return Ih(this._modelService,e)}async computedUnicodeHighlights(e,t,n){return(await this._workerWithResources([e])).$computeUnicodeHighlights(e.toString(),t,n)}async computeDiff(e,t,n,r){let i=await(await this._workerWithResources([e,t],!0)).$computeDiff(e.toString(),t.toString(),n,r);if(!i)return null;return{identical:i.identical,quitEarly:i.quitEarly,changes:a(i.changes),moves:i.moves.map(e=>new sm(new km(new _m(e[0],e[1]),new _m(e[2],e[3])),a(e[4])))};function a(e){return e.map(e=>new Mm(new _m(e[0],e[1]),new _m(e[2],e[3]),e[4]?.map(e=>new Nm(new N(e[0],e[1],e[2],e[3]),new N(e[4],e[5],e[6],e[7])))))}}async computeMoreMinimalEdits(e,t,n=!1){if(tt(t)){if(!Ih(this._modelService,e))return Promise.resolve(t);let r=Qn.create(),i=this._workerWithResources([e]).then(r=>r.$computeMoreMinimalEdits(e.toString(),t,n));return i.finally(()=>this._logService.trace(`FORMAT#computeMoreMinimalEdits`,e.toString(!0),r.elapsed())),Promise.race([i,Os(1e3).then(()=>t)])}return Promise.resolve(void 0)}canNavigateValueSet(e){return Ih(this._modelService,e)}async navigateValueSet(e,t,n){let r=this._modelService.getModel(e);if(!r)return null;let i=this._languageConfigurationService.getLanguageConfiguration(r.getLanguageId()).getWordDefinition(),a=i.source,o=i.flags;return(await this._workerWithResources([e])).$navigateValueSet(e.toString(),t,n,a,o)}canComputeWordRanges(e){return Ih(this._modelService,e)}async computeWordRanges(e,t){let n=this._modelService.getModel(e);if(!n)return Promise.resolve(null);let r=this._languageConfigurationService.getLanguageConfiguration(n.getLanguageId()).getWordDefinition(),i=r.source,a=r.flags;return(await this._workerWithResources([e])).$computeWordRanges(e.toString(),t,i,a)}async findSectionHeaders(e,t){return(await this._workerWithResources([e])).$findSectionHeaders(e.toString(),t)}async computeDefaultDocumentColors(e){return(await this._workerWithResources([e])).$computeDefaultDocumentColors(e.toString())}async _workerWithResources(e,t=!1){return await(await this._workerManager.withWorker()).workerWithSyncedResources(e,t)}};Lh=Ph=Mh([Nh(0,Ou),Nh(1,Oh),Nh(2,Yd),Nh(3,vp),Nh(4,Ah),Nh(5,wf)],Lh);var $oe=class{constructor(e,t,n,r,i,a){this.languageConfigurationService=r,this.logService=i,this.languageFeaturesService=a,this._debugDisplayName=`wordbasedCompletions`,this._workerManager=e,this._configurationService=t,this._modelService=n}async provideCompletionItems(e,t){let n=this._configurationService.getValue(e.uri,t,`editor`);if(n.wordBasedSuggestions===`off`||n.wordBasedSuggestions===`offWithInlineSuggestions`&&this.languageFeaturesService.inlineCompletionsProvider.has(e)&&Qoe(this._configurationService,e.uri,e.getLanguageId()))return;let r=[];if(n.wordBasedSuggestions===`currentDocument`)Ih(this._modelService,e.uri)&&r.push(e.uri);else for(let t of this._modelService.getModels())Ih(this._modelService,t.uri)&&(t===e?r.unshift(t.uri):(n.wordBasedSuggestions===`allDocuments`||t.getLanguageId()===e.getLanguageId())&&r.push(t.uri));if(r.length===0)return;let i=this.languageConfigurationService.getLanguageConfiguration(e.getLanguageId()).getWordDefinition(),a=e.getWordAtPosition(t),o=a?new N(t.lineNumber,a.startColumn,t.lineNumber,a.endColumn):N.fromPositions(t),s=o.setEndPosition(t.lineNumber,t.column);this.logService.trace(`[WordBasedCompletionItemProvider]`,`word: "${a?.word||``}", wordDef: "${i}", replace: [${o.toString()}], insert: [${s.toString()}]`);let c=await(await this._workerManager.withWorker()).textualSuggest(r,a?.word,i);if(c)return{duration:c.duration,suggestions:c.words.map(e=>({kind:18,label:e,insertText:e,range:{insert:s,replace:o}}))}}},Rh=class extends O{constructor(e,t,n){super(),this._workerDescriptor=e,this._modelService=t,this._webWorkerService=n,this._editorWorkerClient=null,this._lastWorkerUsedTime=new Date().getTime(),this._register(new Cl).cancelAndSet(()=>this._checkStopIdleWorker(),Math.round(Fh/2),io),this._register(this._modelService.onModelRemoved(e=>this._checkStopEmptyWorker()))}dispose(){this._editorWorkerClient&&=(this._editorWorkerClient.dispose(),null),super.dispose()}_checkStopEmptyWorker(){this._editorWorkerClient&&this._modelService.getModels().length===0&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}_checkStopIdleWorker(){this._editorWorkerClient&&new Date().getTime()-this._lastWorkerUsedTime>Fh&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}withWorker(){return this._lastWorkerUsedTime=new Date().getTime(),this._editorWorkerClient||=new zh(this._workerDescriptor,!1,this._modelService,this._webWorkerService),Promise.resolve(this._editorWorkerClient)}};Rh=Mh([Nh(1,Ou),Nh(2,wf)],Rh);var ese=class{constructor(e){this._instance=e,this.proxy=this._instance}dispose(){this._instance.dispose()}setChannel(e,t){throw Error(`Not supported`)}},zh=class extends O{constructor(e,t,n,r){super(),this._workerDescriptorOrWorker=e,this._disposed=!1,this._modelService=n,this._webWorkerService=r,this._keepIdleModels=t,this._worker=null,this._modelManager=null}fhr(e,t){throw Error(`Not implemented!`)}_getOrCreateWorker(){if(!this._worker)try{this._worker=this._register(this._webWorkerService.createWorkerClient(this._workerDescriptorOrWorker)),Xoe.setChannel(this._worker,this._createEditorWorkerHost())}catch(e){bf(e),this._worker=this._createFallbackLocalWorker()}return this._worker}async _getProxy(){try{let e=this._getOrCreateWorker().proxy;return await e.$ping(),e}catch(e){return bf(e),this._worker=this._createFallbackLocalWorker(),this._worker.proxy}}_createFallbackLocalWorker(){return new ese(new Joe(null))}_createEditorWorkerHost(){return{$fhr:(e,t)=>this.fhr(e,t)}}_getOrCreateModelManager(e){return this._modelManager||=this._register(new Goe(e,this._modelService,this._keepIdleModels)),this._modelManager}async workerWithSyncedResources(e,t=!1){if(this._disposed)return Promise.reject(eee());let n=await this._getProxy();return this._getOrCreateModelManager(n).ensureSyncedResources(e,t),n}async textualSuggest(e,t,n){let r=await this.workerWithSyncedResources(e),i=n.source,a=n.flags;return r.$textualSuggest(e.map(e=>e.toString()),t,i,a)}dispose(){super.dispose(),this._disposed=!0}};zh=Mh([Nh(2,Ou),Nh(3,wf)],zh);function tse(e,t,n){return new nse(e,t,n)}var nse=class extends zh{constructor(e,t,n){super(n.worker,n.keepIdleModels||!1,e,t),this._foreignModuleHost=n.host||null,this._foreignProxy=this._getProxy().then(e=>new Proxy({},{get(t,n,r){if(n!==`then`){if(typeof n!=`string`)throw Error(`Not supported`);return(...t)=>e.$fmr(n,t)}}}))}fhr(e,t){if(!this._foreignModuleHost||typeof this._foreignModuleHost[e]!=`function`)return Promise.reject(Error(`Missing method `+e+` or missing main thread foreign host.`));try{return Promise.resolve(this._foreignModuleHost[e].apply(this._foreignModuleHost,t))}catch(e){return Promise.reject(e)}}getProxy(){return this._foreignProxy}withSyncedResources(e){return this.workerWithSyncedResources(e).then(e=>this.getProxy())}},Bh={ICodeEditor:`vs.editor.ICodeEditor`,IDiffEditor:`vs.editor.IDiffEditor`},Vh=new class{clone(){return this}equals(e){return this===e}};function Hh(e,t){return new Wi([new Ui(0,``,e)],t)}function Uh(e,t){let n=new Uint32Array(2);return n[0]=0,n[1]=(e<<0|33587200)>>>0,new Gi(n,[],t===null?Vh:t)}function Wh(e,t){let n=ds();if(n?.createTrustedTypesPolicy)try{return n.createTrustedTypesPolicy(e,t)}catch(e){Et(e);return}try{return globalThis.trustedTypes?.createPolicy(e,t)}catch(e){Et(e);return}}var Gh=class{static getLanguageId(e){return(e&255)>>>0}static getTokenType(e){return(e&768)>>>8}static containsBalancedBrackets(e){return!!(e&1024)}static getFontStyle(e){return(e&30720)>>>11}static getForeground(e){return(e&16744448)>>>15}static getBackground(e){return(e&4278190080)>>>24}static getClassNameFromMetadata(e){let t=`mtk`+this.getForeground(e),n=this.getFontStyle(e);return n&1&&(t+=` mtki`),n&2&&(t+=` mtkb`),n&4&&(t+=` mtku`),n&8&&(t+=` mtks`),t}static getInlineStyleFromMetadata(e,t){let n=this.getForeground(e),r=this.getFontStyle(e),i=`color: ${t[n]};`;r&1&&(i+=`font-style: italic;`),r&2&&(i+=`font-weight: bold;`);let a=``;return r&4&&(a+=` underline`),r&8&&(a+=` line-through`),a&&(i+=`text-decoration:${a};`),i}static getPresentationFromMetadata(e){let t=this.getForeground(e),n=this.getFontStyle(e);return{foreground:t,italic:!!(n&1),bold:!!(n&2),underline:!!(n&4),strikethrough:!!(n&8)}}},Kh=class e{static createEmpty(t,n){let r=e.defaultTokenMetadata,i=new Uint32Array(2);return i[0]=t.length,i[1]=r,new e(i,t,n)}static createFromTextAndMetadata(t,n){let r=0,i=``,a=[];for(let{text:e,metadata:n}of t)a.push(r+e.length,n),r+=e.length,i+=e;return new e(new Uint32Array(a),i,n)}static convertToEndOffset(e,t){let n=(e.length>>>1)-1;for(let t=0;t<n;t++)e[t<<1]=e[t+1<<1];e[n<<1]=t}static findIndexInTokensArray(e,t){if(e.length<=2)return 0;let n=0,r=(e.length>>>1)-1;for(;n<r;){let i=n+Math.floor((r-n)/2),a=e[i<<1];if(a===t)return i+1;a<t?n=i+1:a>t&&(r=i)}return n}static{this.defaultTokenMetadata=33587200}constructor(e,t,n){this._lineTokensBrand=void 0,(e.length>1?e[e.length-2]:0)!==t.length&&Et(Error(`Token length and text length do not match!`)),this._tokens=e,this._tokensCount=this._tokens.length>>>1,this._text=t,this.languageIdCodec=n}getTextLength(){return this._text.length}equals(t){return t instanceof e&&this.slicedEquals(t,0,this._tokensCount)}slicedEquals(e,t,n){if(this._text!==e._text||this._tokensCount!==e._tokensCount)return!1;let r=t<<1,i=r+(n<<1);for(let t=r;t<i;t++)if(this._tokens[t]!==e._tokens[t])return!1;return!0}getLineContent(){return this._text}getCount(){return this._tokensCount}getStartOffset(e){return e>0?this._tokens[e-1<<1]:0}getMetadata(e){return this._tokens[(e<<1)+1]}getLanguageId(e){let t=this._tokens[(e<<1)+1],n=Gh.getLanguageId(t);return this.languageIdCodec.decodeLanguageId(n)}getStandardTokenType(e){let t=this._tokens[(e<<1)+1];return Gh.getTokenType(t)}getForeground(e){let t=this._tokens[(e<<1)+1];return Gh.getForeground(t)}getClassName(e){let t=this._tokens[(e<<1)+1];return Gh.getClassNameFromMetadata(t)}getInlineStyle(e,t){let n=this._tokens[(e<<1)+1];return Gh.getInlineStyleFromMetadata(n,t)}getPresentation(e){let t=this._tokens[(e<<1)+1];return Gh.getPresentationFromMetadata(t)}getEndOffset(e){return this._tokens[e<<1]}findTokenIndexAtOffset(t){return e.findIndexInTokensArray(this._tokens,t)}inflate(){return this}sliceAndInflate(e,t,n){return new rse(this,e,t,n)}sliceZeroCopy(e){return this.sliceAndInflate(e.start,e.endExclusive,0)}withInserted(t){if(t.length===0)return this;let n=0,r=0,i=``,a=[],o=0;for(;;){let e=n<this._tokensCount?this._tokens[n<<1]:-1,s=r<t.length?t[r]:null;if(e!==-1&&(s===null||e<=s.offset)){i+=this._text.substring(o,e);let t=this._tokens[(n<<1)+1];a.push(i.length,t),n++,o=e}else if(s){if(s.offset>o){i+=this._text.substring(o,s.offset);let e=this._tokens[(n<<1)+1];a.push(i.length,e),o=s.offset}i+=s.text,a.push(i.length,s.tokenMetadata),r++}else break}return new e(new Uint32Array(a),i,this.languageIdCodec)}getTokensInRange(e){let t=new ase,n=this.findTokenIndexAtOffset(e.start),r=this.findTokenIndexAtOffset(e.endExclusive);for(let i=n;i<=r;i++){let n=new cm(this.getStartOffset(i),this.getEndOffset(i)).intersectionLength(e);n>0&&t.add(n,this.getMetadata(i))}return t.build()}getTokenText(e){let t=this.getStartOffset(e),n=this.getEndOffset(e);return this._text.substring(t,n)}forEach(e){let t=this.getCount();for(let n=0;n<t;n++)e(n)}toString(){let e=``;return this.forEach(t=>{e+=`[${this.getTokenText(t)}]{${this.getClassName(t)}}`}),e}},rse=class e{constructor(e,t,n,r){this._source=e,this._startOffset=t,this._endOffset=n,this._deltaOffset=r,this._firstTokenIndex=e.findTokenIndexAtOffset(t),this.languageIdCodec=e.languageIdCodec,this._tokensCount=0;for(let t=this._firstTokenIndex,r=e.getCount();t<r&&!(e.getStartOffset(t)>=n);t++)this._tokensCount++}getMetadata(e){return this._source.getMetadata(this._firstTokenIndex+e)}getLanguageId(e){return this._source.getLanguageId(this._firstTokenIndex+e)}getLineContent(){return this._source.getLineContent().substring(this._startOffset,this._endOffset)}equals(t){return t instanceof e&&this._startOffset===t._startOffset&&this._endOffset===t._endOffset&&this._deltaOffset===t._deltaOffset&&this._source.slicedEquals(t._source,this._firstTokenIndex,this._tokensCount)}getCount(){return this._tokensCount}getStandardTokenType(e){return this._source.getStandardTokenType(this._firstTokenIndex+e)}getForeground(e){return this._source.getForeground(this._firstTokenIndex+e)}getEndOffset(e){let t=this._source.getEndOffset(this._firstTokenIndex+e);return Math.min(this._endOffset,t)-this._startOffset+this._deltaOffset}getClassName(e){return this._source.getClassName(this._firstTokenIndex+e)}getInlineStyle(e,t){return this._source.getInlineStyle(this._firstTokenIndex+e,t)}getPresentation(e){return this._source.getPresentation(this._firstTokenIndex+e)}findTokenIndexAtOffset(e){return this._source.findTokenIndexAtOffset(e+this._startOffset-this._deltaOffset)-this._firstTokenIndex}getTokenText(e){let t=this._firstTokenIndex+e,n=this._source.getStartOffset(t),r=this._source.getEndOffset(t),i=this._source.getTokenText(t);return n<this._startOffset&&(i=i.substring(this._startOffset-n)),r>this._endOffset&&(i=i.substring(0,i.length-(r-this._endOffset))),i}forEach(e){for(let t=0;t<this.getCount();t++)e(t)}};function ise(e,t){let n=t.lineNumber;if(!e.tokenization.isCheapToTokenize(n))return;e.tokenization.forceTokenization(n);let r=e.tokenization.getLineTokens(n),i=r.findTokenIndexAtOffset(t.column-1);return r.getStandardTokenType(i)}var qh=class e{static fromLineTokens(t){let n=[];for(let e=0;e<t.getCount();e++)n.push(new Jh(t.getEndOffset(e)-t.getStartOffset(e),t.getMetadata(e)));return e.create(n)}static create(t){return new e(t)}constructor(e){this._tokenInfo=e}toLineTokens(e,t){return Kh.createFromTextAndMetadata(this.map((t,n)=>({text:t.substring(e),metadata:n.metadata})),t)}forEach(e){let t=0;for(let n of this._tokenInfo)e(new cm(t,t+n.length),n),t+=n.length}map(e){let t=[],n=0;for(let r of this._tokenInfo){let i=new cm(n,n+r.length);t.push(e(i,r)),n+=r.length}return t}slice(t){let n=[],r=0;for(let e of this._tokenInfo){let i=r,a=i+e.length;if(a>t.start){if(i>=t.endExclusive)break;let r=Math.max(0,t.start-i),o=Math.max(0,a-t.endExclusive);n.push(new Jh(e.length-r-o,e.metadata))}r+=e.length}return e.create(n)}},Jh=class{constructor(e,t){this.length=e,this.metadata=t}},ase=class{constructor(){this._tokens=[]}add(e,t){this._tokens.push(new Jh(e,t))}build(){return qh.create(this._tokens)}},Yh=class e{constructor(e,t,n,r){this.startColumn=e,this.endColumn=t,this.className=n,this.type=r,this._lineDecorationBrand=void 0}static _equals(e,t){return e.startColumn===t.startColumn&&e.endColumn===t.endColumn&&e.className===t.className&&e.type===t.type}static equalsArr(t,n){let r=t.length;if(r!==n.length)return!1;for(let i=0;i<r;i++)if(!e._equals(t[i],n[i]))return!1;return!0}static extractWrapped(t,n,r){if(t.length===0)return t;let i=n+1,a=r+1,o=r-n,s=[],c=0;for(let n of t)n.endColumn<=i||n.startColumn>=a||(s[c++]=new e(Math.max(1,n.startColumn-i+1),Math.min(o+1,n.endColumn-i+1),n.className,n.type));return s}static filter(t,n,r,i){if(t.length===0)return[];let a=[],o=0;for(let s=0,c=t.length;s<c;s++){let c=t[s],l=c.range;if(l.endLineNumber<n||l.startLineNumber>n||l.isEmpty()&&(c.type===0||c.type===3))continue;let u=l.startLineNumber===n?l.startColumn:r,d=l.endLineNumber===n?l.endColumn:i;a[o++]=new e(u,d,c.inlineClassName,c.type)}return a}static _typeCompare(e,t){let n=[2,0,1,3];return n[e]-n[t]}static compare(t,n){if(t.startColumn!==n.startColumn)return t.startColumn-n.startColumn;if(t.endColumn!==n.endColumn)return t.endColumn-n.endColumn;let r=e._typeCompare(t.type,n.type);return r===0?t.className===n.className?0:t.className<n.className?-1:1:r}},Xh=class{constructor(e,t,n,r){this.startOffset=e,this.endOffset=t,this.className=n,this.metadata=r}},ose=class e{constructor(){this.stopOffsets=[],this.classNames=[],this.metadata=[],this.count=0}static _metadata(e){let t=0;for(let n=0,r=e.length;n<r;n++)t|=e[n];return t}consumeLowerThan(t,n,r){for(;this.count>0&&this.stopOffsets[0]<t;){let t=0;for(;t+1<this.count&&this.stopOffsets[t]===this.stopOffsets[t+1];)t++;r.push(new Xh(n,this.stopOffsets[t],this.classNames.join(` `),e._metadata(this.metadata))),n=this.stopOffsets[t]+1,this.stopOffsets.splice(0,t+1),this.classNames.splice(0,t+1),this.metadata.splice(0,t+1),this.count-=t+1}return this.count>0&&n<t&&(r.push(new Xh(n,t-1,this.classNames.join(` `),e._metadata(this.metadata))),n=t),n}insert(e,t,n){if(this.count===0||this.stopOffsets[this.count-1]<=e)this.stopOffsets.push(e),this.classNames.push(t),this.metadata.push(n);else for(let r=0;r<this.count;r++)if(this.stopOffsets[r]>=e){this.stopOffsets.splice(r,0,e),this.classNames.splice(r,0,t),this.metadata.splice(r,0,n);break}this.count++}},sse=class{static normalize(e,t){if(t.length===0)return[];let n=[],r=new ose,i=0;for(let a=0,o=t.length;a<o;a++){let o=t[a],s=o.startColumn,c=o.endColumn,l=o.className,u=o.type===1?2:o.type===2?4:0;s>1&&Po(e.charCodeAt(s-2))&&s--,c>1&&Po(e.charCodeAt(c-2))&&c--;let d=s-1,f=c-2;i=r.consumeLowerThan(d,i,n),r.count===0&&(i=d),r.insert(f,l,u)}return r.consumeLowerThan(1073741824,i,n),n}},Zh=class{constructor(e,t,n,r){this.endIndex=e,this.type=t,this.metadata=n,this.containsRTL=r,this._linePartBrand=void 0}isWhitespace(){return!!(this.metadata&1)}isPseudoAfter(){return!!(this.metadata&4)}},Qh=class{get isLTR(){return!this.containsRTL&&this.textDirection!==Wp.RTL}constructor(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x=!1){this.useMonospaceOptimizations=e,this.canUseHalfwidthRightwardsArrow=t,this.lineContent=n,this.continuesWithWrappedLine=r,this.isBasicASCII=i,this.containsRTL=a,this.fauxIndentLength=o,this.lineTokens=s,this.lineDecorations=c.sort(Yh.compare),this.tabSize=l,this.startVisibleColumn=u,this.spaceWidth=d,this.stopRenderingLineAfter=m,this.renderWhitespace=h===`all`?4:h===`boundary`?1:h===`selection`?2:h===`trailing`?3:0,this.renderControlCharacters=g,this.fontLigatures=_,this.selectionsOnLine=v&&v.sort((e,t)=>e.start<t.start?-1:1),this.renderNewLineWhenEmpty=x,this.textDirection=y,this.verticalScrollbarSize=b,Math.abs(p-d)<Math.abs(f-d)?(this.renderSpaceWidth=p,this.renderSpaceCharCode=11825):(this.renderSpaceWidth=f,this.renderSpaceCharCode=183)}sameSelection(e){if(this.selectionsOnLine===null)return e===null;if(e===null||e.length!==this.selectionsOnLine.length)return!1;for(let t=0;t<this.selectionsOnLine.length;t++)if(!this.selectionsOnLine[t].equals(e[t]))return!1;return!0}equals(e){return this.useMonospaceOptimizations===e.useMonospaceOptimizations&&this.canUseHalfwidthRightwardsArrow===e.canUseHalfwidthRightwardsArrow&&this.lineContent===e.lineContent&&this.continuesWithWrappedLine===e.continuesWithWrappedLine&&this.isBasicASCII===e.isBasicASCII&&this.containsRTL===e.containsRTL&&this.fauxIndentLength===e.fauxIndentLength&&this.tabSize===e.tabSize&&this.startVisibleColumn===e.startVisibleColumn&&this.spaceWidth===e.spaceWidth&&this.renderSpaceWidth===e.renderSpaceWidth&&this.renderSpaceCharCode===e.renderSpaceCharCode&&this.stopRenderingLineAfter===e.stopRenderingLineAfter&&this.renderWhitespace===e.renderWhitespace&&this.renderControlCharacters===e.renderControlCharacters&&this.fontLigatures===e.fontLigatures&&Yh.equalsArr(this.lineDecorations,e.lineDecorations)&&this.lineTokens.equals(e.lineTokens)&&this.sameSelection(e.selectionsOnLine)&&this.textDirection===e.textDirection&&this.verticalScrollbarSize===e.verticalScrollbarSize&&this.renderNewLineWhenEmpty===e.renderNewLineWhenEmpty}},$h=class{constructor(e,t){this.partIndex=e,this.charIndex=t}},eg=class e{static getPartIndex(e){return(e&4294901760)>>>16}static getCharIndex(e){return(e&65535)>>>0}constructor(e,t){this.length=e,this._data=new Uint32Array(this.length),this._horizontalOffset=new Uint32Array(this.length)}setColumnInfo(e,t,n,r){let i=(t<<16|n<<0)>>>0;this._data[e-1]=i,this._horizontalOffset[e-1]=r}getHorizontalOffset(e){return this._horizontalOffset.length===0?0:this._horizontalOffset[e-1]}charOffsetToPartData(e){return this.length===0?0:e<0?this._data[0]:e>=this.length?this._data[this.length-1]:this._data[e]}getDomPosition(t){let n=this.charOffsetToPartData(t-1);return new $h(e.getPartIndex(n),e.getCharIndex(n))}getColumn(e,t){return this.partDataToCharOffset(e.partIndex,t,e.charIndex)+1}partDataToCharOffset(t,n,r){if(this.length===0)return 0;let i=(t<<16|r<<0)>>>0,a=0,o=this.length-1;for(;a+1<o;){let e=a+o>>>1,t=this._data[e];if(t===i)return e;t>i?o=e:a=e}if(a===o)return a;let s=this._data[a],c=this._data[o];if(s===i)return a;if(c===i)return o;let l=e.getPartIndex(s),u=e.getCharIndex(s),d=e.getPartIndex(c),f;return f=l===d?e.getCharIndex(c):n,r-u<=f-r?a:o}},tg=class{constructor(e,t){this._renderLineOutputBrand=void 0,this.characterMapping=e,this.containsForeignElements=t}};function ng(e,t){if(e.lineContent.length===0){if(e.lineDecorations.length>0){t.appendString(`<span>`);let n=0,r=0,i=0;for(let a of e.lineDecorations)(a.type===1||a.type===2)&&(t.appendString(`<span class="`),t.appendString(a.className),t.appendString(`"></span>`),a.type===1&&(i|=1,n++),a.type===2&&(i|=2,r++));t.appendString(`</span>`);let a=new eg(1,n+r);return a.setColumnInfo(1,n,0,0),new tg(a,i)}return e.renderNewLineWhenEmpty?t.appendString(`<span><span>
47
+ `)+1,f=c.index-d+1,p=o[o.length-1],m={range:{startLineNumber:i,startColumn:f,endLineNumber:u,endColumn:l===1?f+c[0].length:p.length+1},text:(c.groups??{}).label??``,hasSeparatorLine:((c.groups??{}).separator??``)!==``,shouldBeInComments:!0};(m.text||m.hasSeparatorLine)&&(n.length===0||n[n.length-1].range.endLineNumber<m.range.startLineNumber)&&n.push(m),a.lastIndex=c.index+c[0].length}}return n}function Boe(e){e=e.trim();let t=e.startsWith(`-`);return e=e.replace(Foe,``),{text:e,hasSeparatorLine:t}}var Voe=class{constructor(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(e,t){e=Pp(e);let n=this.values,r=this.prefixSum,i=t.length;return i!==0&&(this.values=new Uint32Array(n.length+i),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e),e+i),this.values.set(t,e),e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),this.prefixSum=new Uint32Array(this.values.length),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(e,t){return e=Pp(e),t=Pp(t),this.values[e]!==t&&(this.values[e]=t,e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),!0)}removeValues(e,t){e=Pp(e),t=Pp(t);let n=this.values,r=this.prefixSum;if(e>=n.length)return!1;let i=n.length-e;return t>=i&&(t=i),t!==0&&(this.values=new Uint32Array(n.length-t),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e+t),e),this.prefixSum=new Uint32Array(this.values.length),e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return this.values.length===0?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(e){return e<0?0:(e=Pp(e),this._getPrefixSum(e))}_getPrefixSum(e){if(e<=this.prefixSumValidIndex[0])return this.prefixSum[e];let t=this.prefixSumValidIndex[0]+1;t===0&&(this.prefixSum[0]=this.values[0],t++),e>=this.values.length&&(e=this.values.length-1);for(let n=t;n<=e;n++)this.prefixSum[n]=this.prefixSum[n-1]+this.values[n];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],e),this.prefixSum[e]}getIndexOf(e){e=Math.floor(e),this.getTotalSum();let t=0,n=this.values.length-1,r=0,i=0,a=0;for(;t<=n;)if(r=t+(n-t)/2|0,i=this.prefixSum[r],a=i-this.values[r],e<a)n=r-1;else if(e>=i)t=r+1;else break;return new Dh(r,e-a)}},Hoe=class{constructor(e){this._values=e,this._isValid=!1,this._validEndIndex=-1,this._prefixSum=[],this._indexBySum=[]}getTotalSum(){return this._ensureValid(),this._indexBySum.length}getPrefixSum(e){return this._ensureValid(),e===0?0:this._prefixSum[e-1]}getIndexOf(e){this._ensureValid();let t=this._indexBySum[e];if(t===void 0){let t=Math.max(0,this._values.length-1);return new Dh(t,e-(t>0?this._prefixSum[t-1]:0))}return new Dh(t,e-(t>0?this._prefixSum[t-1]:0))}removeValues(e,t){this._values.splice(e,t),this._invalidate(e)}insertValues(e,t){this._values=it(this._values,e,t),this._invalidate(e)}_invalidate(e){this._isValid=!1,this._validEndIndex=Math.min(this._validEndIndex,e-1)}_ensureValid(){if(!this._isValid){for(let e=this._validEndIndex+1,t=this._values.length;e<t;e++){let t=this._values[e],n=e>0?this._prefixSum[e-1]:0;this._prefixSum[e]=n+t;for(let r=0;r<t;r++)this._indexBySum[n+r]=e}this._prefixSum.length=this._values.length,this._indexBySum.length=this._values.length>0?this._prefixSum[this._values.length-1]:0,this._isValid=!0,this._validEndIndex=this._values.length-1}}setValue(e,t){this._values[e]!==t&&(this._values[e]=t,this._invalidate(e))}},Dh=class{constructor(e,t){this.index=e,this.remainder=t,this._prefixSumIndexOfResultBrand=void 0,this.index=e,this.remainder=t}},Uoe=class{constructor(e,t,n,r){this._uri=e,this._lines=t,this._eol=n,this._versionId=r,this._lineStarts=null,this._cachedTextValue=null}dispose(){this._lines.length=0}get version(){return this._versionId}getText(){return this._cachedTextValue===null&&(this._cachedTextValue=this._lines.join(this._eol)),this._cachedTextValue}onEvents(e){e.eol&&e.eol!==this._eol&&(this._eol=e.eol,this._lineStarts=null);let t=e.changes;for(let e of t)this._acceptDeleteRange(e.range),this._acceptInsertText(new M(e.range.startLineNumber,e.range.startColumn),e.text);this._versionId=e.versionId,this._cachedTextValue=null}_ensureLineStarts(){if(!this._lineStarts){let e=this._eol.length,t=this._lines.length,n=new Uint32Array(t);for(let r=0;r<t;r++)n[r]=this._lines[r].length+e;this._lineStarts=new Voe(n)}}_setLineText(e,t){this._lines[e]=t,this._lineStarts&&this._lineStarts.setValue(e,this._lines[e].length+this._eol.length)}_acceptDeleteRange(e){if(e.startLineNumber===e.endLineNumber){if(e.startColumn===e.endColumn)return;this._setLineText(e.startLineNumber-1,this._lines[e.startLineNumber-1].substring(0,e.startColumn-1)+this._lines[e.startLineNumber-1].substring(e.endColumn-1));return}this._setLineText(e.startLineNumber-1,this._lines[e.startLineNumber-1].substring(0,e.startColumn-1)+this._lines[e.endLineNumber-1].substring(e.endColumn-1)),this._lines.splice(e.startLineNumber,e.endLineNumber-e.startLineNumber),this._lineStarts&&this._lineStarts.removeValues(e.startLineNumber,e.endLineNumber-e.startLineNumber)}_acceptInsertText(e,t){if(t.length===0)return;let n=vo(t);if(n.length===1){this._setLineText(e.lineNumber-1,this._lines[e.lineNumber-1].substring(0,e.column-1)+n[0]+this._lines[e.lineNumber-1].substring(e.column-1));return}n[n.length-1]+=this._lines[e.lineNumber-1].substring(e.column-1),this._setLineText(e.lineNumber-1,this._lines[e.lineNumber-1].substring(0,e.column-1)+n[0]);let r=new Uint32Array(n.length-1);for(let t=1;t<n.length;t++)this._lines.splice(e.lineNumber+t-1,0,n[t]),r[t-1]=n[t].length+this._eol.length;this._lineStarts&&this._lineStarts.insertValues(e.lineNumber,r)}},Woe=6e4,Goe=class extends O{constructor(e,t,n=!1){if(super(),this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),this._proxy=e,this._modelService=t,!n){let e=new Ms;e.cancelAndSet(()=>this._checkStopModelSync(),Math.round(Woe/2)),this._register(e)}}dispose(){for(let e in this._syncedModels)Hn(this._syncedModels[e]);this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),super.dispose()}ensureSyncedResources(e,t=!1){for(let n of e){let e=n.toString();this._syncedModels[e]||this._beginModelSync(n,t),this._syncedModels[e]&&(this._syncedModelsLastUsedTime[e]=new Date().getTime())}}_checkStopModelSync(){let e=new Date().getTime(),t=[];for(let n in this._syncedModelsLastUsedTime)e-this._syncedModelsLastUsedTime[n]>6e4&&t.push(n);for(let e of t)this._stopModelSync(e)}_beginModelSync(e,t){let n=this._modelService.getModel(e);if(!n||!t&&n.isTooLargeForSyncing())return;let r=e.toString();this._proxy.$acceptNewModel({url:n.uri.toString(),lines:n.getLinesContent(),EOL:n.getEOL(),versionId:n.getVersionId()});let i=new D;i.add(n.onDidChangeContent(e=>{this._proxy.$acceptModelChanged(r.toString(),e)})),i.add(n.onWillDispose(()=>{this._stopModelSync(r)})),i.add(E(()=>{this._proxy.$acceptRemovedModel(r)})),this._syncedModels[r]=i}_stopModelSync(e){let t=this._syncedModels[e];delete this._syncedModels[e],delete this._syncedModelsLastUsedTime[e],Hn(t)}},Koe=class{constructor(){this._models=Object.create(null)}getModel(e){return this._models[e]}getModels(){let e=[];return Object.keys(this._models).forEach(t=>e.push(this._models[t])),e}$acceptNewModel(e){this._models[e.url]=new qoe(ji.parse(e.url),e.lines,e.EOL,e.versionId)}$acceptModelChanged(e,t){this._models[e]&&this._models[e].onEvents(t)}$acceptRemovedModel(e){this._models[e]&&delete this._models[e]}},qoe=class extends Uoe{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}findMatches(e){let t=[];for(let n=0;n<this._lines.length;n++){let r=this._lines[n],i=this.offsetAt(new M(n+1,1)),a=r.matchAll(e);for(let e of a)(e.index||e.index===0)&&(e.index+=i),t.push(e)}return t}getLinesContent(){return this._lines.slice(0)}getLineCount(){return this._lines.length}getLineContent(e){return this._lines[e-1]}getWordAtPosition(e,t){let n=xr(e.column,yr(t),this._lines[e.lineNumber-1],0);return n?new N(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn):null}words(e){let t=this._lines,n=this._wordenize.bind(this),r=0,i=``,a=0,o=[];return{*[Symbol.iterator](){for(;;)if(a<o.length){let e=i.substring(o[a].start,o[a].end);a+=1,yield e}else if(r<t.length)i=t[r],o=n(i,e),a=0,r+=1;else break}}}getLineWords(e,t){let n=this._lines[e-1],r=this._wordenize(n,t),i=[];for(let e of r)i.push({word:n.substring(e.start,e.end),startColumn:e.start+1,endColumn:e.end+1});return i}_wordenize(e,t){let n=[],r;for(t.lastIndex=0;(r=t.exec(e))&&r[0].length!==0;)n.push({start:r.index,end:r.index+r[0].length});return n}getValueInRange(e){if(e=this._validateRange(e),e.startLineNumber===e.endLineNumber)return this._lines[e.startLineNumber-1].substring(e.startColumn-1,e.endColumn-1);let t=this._eol,n=e.startLineNumber-1,r=e.endLineNumber-1,i=[];i.push(this._lines[n].substring(e.startColumn-1));for(let e=n+1;e<r;e++)i.push(this._lines[e]);return i.push(this._lines[r].substring(0,e.endColumn-1)),i.join(t)}offsetAt(e){return e=this._validatePosition(e),this._ensureLineStarts(),this._lineStarts.getPrefixSum(e.lineNumber-2)+(e.column-1)}positionAt(e){e=Math.floor(e),e=Math.max(0,e),this._ensureLineStarts();let t=this._lineStarts.getIndexOf(e),n=this._lines[t.index].length;return{lineNumber:1+t.index,column:1+Math.min(t.remainder,n)}}_validateRange(e){let t=this._validatePosition({lineNumber:e.startLineNumber,column:e.startColumn}),n=this._validatePosition({lineNumber:e.endLineNumber,column:e.endColumn});return t.lineNumber!==e.startLineNumber||t.column!==e.startColumn||n.lineNumber!==e.endLineNumber||n.column!==e.endColumn?{startLineNumber:t.lineNumber,startColumn:t.column,endLineNumber:n.lineNumber,endColumn:n.column}:e}_validatePosition(e){if(!M.isIPosition(e))throw Error(`bad position`);let{lineNumber:t,column:n}=e,r=!1;if(t<1)t=1,n=1,r=!0;else if(t>this._lines.length)t=this._lines.length,n=this._lines[t-1].length+1,r=!0;else{let e=this._lines[t-1].length+1;n<1?(n=1,r=!0):n>e&&(n=e,r=!0)}return r?{lineNumber:t,column:n}:e}},Joe=class e{constructor(e=null){this._foreignModule=e,this._requestHandlerBrand=void 0,this._workerTextModelSyncServer=new Koe}dispose(){}async $ping(){return`pong`}_getModel(e){return this._workerTextModelSyncServer.getModel(e)}getModels(){return this._workerTextModelSyncServer.getModels()}$acceptNewModel(e){this._workerTextModelSyncServer.$acceptNewModel(e)}$acceptModelChanged(e,t){this._workerTextModelSyncServer.$acceptModelChanged(e,t)}$acceptRemovedModel(e){this._workerTextModelSyncServer.$acceptRemovedModel(e)}async $computeUnicodeHighlights(e,t,n){let r=this._getModel(e);return r?rm.computeUnicodeHighlights(r,t,n):{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}}async $findSectionHeaders(e,t){let n=this._getModel(e);return n?Loe(n,t):[]}async $computeDiff(t,n,r,i){let a=this._getModel(t),o=this._getModel(n);if(!a||!o)return null;let s=await Yoe(i);return e.computeDiff(a,o,r,s)}static computeDiff(e,t,n,r){let i=e.getLinesContent(),a=t.getLinesContent(),o=r.computeDiff(i,a,n),s=o.changes.length>0?!1:this._modelsAreIdentical(e,t);function c(e){return e.map(e=>[e.original.startLineNumber,e.original.endLineNumberExclusive,e.modified.startLineNumber,e.modified.endLineNumberExclusive,e.innerChanges?.map(e=>[e.originalRange.startLineNumber,e.originalRange.startColumn,e.originalRange.endLineNumber,e.originalRange.endColumn,e.modifiedRange.startLineNumber,e.modifiedRange.startColumn,e.modifiedRange.endLineNumber,e.modifiedRange.endColumn])])}return{identical:s,quitEarly:o.hitTimeout,changes:c(o.changes),moves:o.moves.map(e=>[e.lineRangeMapping.original.startLineNumber,e.lineRangeMapping.original.endLineNumberExclusive,e.lineRangeMapping.modified.startLineNumber,e.lineRangeMapping.modified.endLineNumberExclusive,c(e.changes)])}}static _modelsAreIdentical(e,t){let n=e.getLineCount();if(n!==t.getLineCount())return!1;for(let r=1;r<=n;r++)if(e.getLineContent(r)!==t.getLineContent(r))return!1;return!0}static{this._diffLimit=1e5}async $computeMoreMinimalEdits(t,n,r){let i=this._getModel(t);if(!i)return n;let a=[],o;n=n.slice(0).sort((e,t)=>e.range&&t.range?N.compareRangesUsingStarts(e.range,t.range):+!e.range-!t.range);let s=0;for(let e=1;e<n.length;e++)N.getEndPosition(n[s].range).equals(N.getStartPosition(n[e].range))?(n[s].range=N.fromPositions(N.getStartPosition(n[s].range),N.getEndPosition(n[e].range)),n[s].text+=n[e].text):(s++,n[s]=n[e]);n.length=s+1;for(let{range:t,text:s,eol:c}of n){if(typeof c==`number`&&(o=c),N.isEmpty(t)&&!s)continue;let n=i.getValueInRange(t);if(s=s.replace(/\r\n|\n|\r/g,i.eol),n===s)continue;if(Math.max(s.length,n.length)>e._diffLimit){a.push({range:t,text:s});continue}let l=Mae(n,s,r),u=i.offsetAt(N.lift(t).getStartPosition());for(let e of l){let t=i.positionAt(u+e.originalStart),n=i.positionAt(u+e.originalStart+e.originalLength),r={text:s.substr(e.modifiedStart,e.modifiedLength),range:{startLineNumber:t.lineNumber,startColumn:t.column,endLineNumber:n.lineNumber,endColumn:n.column}};i.getValueInRange(r.range)!==r.text&&a.push(r)}}return typeof o==`number`&&a.push({eol:o,text:``,range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),a}async $computeLinks(e){let t=this._getModel(e);return t?Rae(t):null}async $computeDefaultDocumentColors(e){let t=this._getModel(e);return t?Poe(t):null}static{this._suggestionsLimit=1e4}async $textualSuggest(t,n,r,i){let a=new Qn,o=new RegExp(r,i),s=new Set;outer:for(let r of t){let t=this._getModel(r);if(t){for(let r of t.words(o))if(r!==n&&isNaN(Number(r))&&(s.add(r),s.size>e._suggestionsLimit))break outer}}return{words:Array.from(s),duration:a.elapsed()}}async $computeWordRanges(e,t,n,r){let i=this._getModel(e);if(!i)return Object.create(null);let a=new RegExp(n,r),o=Object.create(null);for(let e=t.startLineNumber;e<t.endLineNumber;e++){let t=i.getLineWords(e,a);for(let n of t){if(!isNaN(Number(n.word)))continue;let t=o[n.word];t||(t=[],o[n.word]=t),t.push({startLineNumber:e,startColumn:n.startColumn,endLineNumber:e,endColumn:n.endColumn})}}return o}async $navigateValueSet(e,t,n,r,i){let a=this._getModel(e);if(!a)return null;let o=new RegExp(r,i);t.startColumn===t.endColumn&&(t={startLineNumber:t.startLineNumber,startColumn:t.startColumn,endLineNumber:t.endLineNumber,endColumn:t.endColumn+1});let s=a.getValueInRange(t),c=a.getWordAtPosition({lineNumber:t.startLineNumber,column:t.startColumn},o);if(!c)return null;let l=a.getValueInRange(c);return zae.INSTANCE.navigateValueSet(t,s,c,l,n)}$fmr(e,t){if(!this._foreignModule||typeof this._foreignModule[e]!=`function`)return Promise.reject(Error(`Missing requestHandler or method: `+e));try{return Promise.resolve(this._foreignModule[e].apply(this._foreignModule,t))}catch(e){return Promise.reject(e)}}};typeof importScripts==`function`&&(globalThis.monaco=ro());function Yoe(e){switch(e){case`legacy`:return _h.getLegacy();case`advanced`:return _h.getDefault();case`advanced-external`:return _h.getAdvancedExternal();case`advanced-wasm`:return _h.getAdvancedWasm()}}var Oh=Eu(`textResourceConfigurationService`),kh=Eu(`textResourcePropertiesService`),Ah=Eu(`ILanguageFeaturesService`),Xoe=class e{static{this.CHANNEL_NAME=`editorWorkerHost`}static getChannel(t){return t.getChannel(e.CHANNEL_NAME)}static setChannel(t,n){t.setChannel(e.CHANNEL_NAME,n)}};function Zoe(){return rp.defaultChatAgent?.completionsEnablementSetting}function Qoe(e,t,n=`*`){let r=Zoe();return r?jh(e.getValue(t,r),n):!1}function jh(e,t=`*`){return Ut(e)?e[t]===void 0?!!e[`*`]:!!e[t]:!1}var Mh=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Nh=function(e,t){return function(n,r){t(n,r,e)}},Ph,Fh=3e5;function Ih(e,t){let n=e.getModel(t);return!(!n||n.isTooLargeForSyncing())}var Lh=class extends O{static{Ph=this}static{this.workerDescriptor=new Xie({esmModuleLocation:()=>Ws.asBrowserUri(`vs/editor/common/services/editorWebWorkerMain.js`),esmModuleLocationBundler:()=>new URL(`data:text/javascript;base64,aW1wb3J0IHsgYm9vdHN0cmFwV2ViV29ya2VyIH0gZnJvbSAnLi4vLi4vLi4vYmFzZS9jb21tb24vd29ya2VyL3dlYldvcmtlckJvb3RzdHJhcC5qcyc7CmltcG9ydCB7IEVkaXRvcldvcmtlciB9IGZyb20gJy4vZWRpdG9yV2ViV29ya2VyLmpzJzsKCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIExpY2Vuc2UudHh0IGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24uCiAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpib290c3RyYXBXZWJXb3JrZXIoKCkgPT4gbmV3IEVkaXRvcldvcmtlcihudWxsKSk7Cg==`,``+import.meta.url),label:`editorWorkerService`})}constructor(e,t,n,r,i,a){super(),this._languageConfigurationService=r,this._webWorkerService=a,this._modelService=e,this._workerManager=this._register(new Rh(Ph.workerDescriptor,this._modelService,this._webWorkerService)),this._logService=n,this._register(i.linkProvider.register({language:`*`,hasAccessToAllModels:!0},{provideLinks:async(e,t)=>{if(!Ih(this._modelService,e.uri))return Promise.resolve({links:[]});let n=await(await this._workerWithResources([e.uri])).$computeLinks(e.uri.toString());return n&&{links:n}}})),this._register(i.completionProvider.register(`*`,new $oe(this._workerManager,t,this._modelService,this._languageConfigurationService,this._logService,i)))}canComputeUnicodeHighlights(e){return Ih(this._modelService,e)}async computedUnicodeHighlights(e,t,n){return(await this._workerWithResources([e])).$computeUnicodeHighlights(e.toString(),t,n)}async computeDiff(e,t,n,r){let i=await(await this._workerWithResources([e,t],!0)).$computeDiff(e.toString(),t.toString(),n,r);return i?{identical:i.identical,quitEarly:i.quitEarly,changes:a(i.changes),moves:i.moves.map(e=>new sm(new km(new _m(e[0],e[1]),new _m(e[2],e[3])),a(e[4])))}:null;function a(e){return e.map(e=>new Mm(new _m(e[0],e[1]),new _m(e[2],e[3]),e[4]?.map(e=>new Nm(new N(e[0],e[1],e[2],e[3]),new N(e[4],e[5],e[6],e[7])))))}}async computeMoreMinimalEdits(e,t,n=!1){if(tt(t)){if(!Ih(this._modelService,e))return Promise.resolve(t);let r=Qn.create(),i=this._workerWithResources([e]).then(r=>r.$computeMoreMinimalEdits(e.toString(),t,n));return i.finally(()=>this._logService.trace(`FORMAT#computeMoreMinimalEdits`,e.toString(!0),r.elapsed())),Promise.race([i,Os(1e3).then(()=>t)])}return Promise.resolve(void 0)}canNavigateValueSet(e){return Ih(this._modelService,e)}async navigateValueSet(e,t,n){let r=this._modelService.getModel(e);if(!r)return null;let i=this._languageConfigurationService.getLanguageConfiguration(r.getLanguageId()).getWordDefinition(),a=i.source,o=i.flags;return(await this._workerWithResources([e])).$navigateValueSet(e.toString(),t,n,a,o)}canComputeWordRanges(e){return Ih(this._modelService,e)}async computeWordRanges(e,t){let n=this._modelService.getModel(e);if(!n)return Promise.resolve(null);let r=this._languageConfigurationService.getLanguageConfiguration(n.getLanguageId()).getWordDefinition(),i=r.source,a=r.flags;return(await this._workerWithResources([e])).$computeWordRanges(e.toString(),t,i,a)}async findSectionHeaders(e,t){return(await this._workerWithResources([e])).$findSectionHeaders(e.toString(),t)}async computeDefaultDocumentColors(e){return(await this._workerWithResources([e])).$computeDefaultDocumentColors(e.toString())}async _workerWithResources(e,t=!1){return await(await this._workerManager.withWorker()).workerWithSyncedResources(e,t)}};Lh=Ph=Mh([Nh(0,Ou),Nh(1,Oh),Nh(2,Yd),Nh(3,vp),Nh(4,Ah),Nh(5,wf)],Lh);var $oe=class{constructor(e,t,n,r,i,a){this.languageConfigurationService=r,this.logService=i,this.languageFeaturesService=a,this._debugDisplayName=`wordbasedCompletions`,this._workerManager=e,this._configurationService=t,this._modelService=n}async provideCompletionItems(e,t){let n=this._configurationService.getValue(e.uri,t,`editor`);if(n.wordBasedSuggestions===`off`||n.wordBasedSuggestions===`offWithInlineSuggestions`&&this.languageFeaturesService.inlineCompletionsProvider.has(e)&&Qoe(this._configurationService,e.uri,e.getLanguageId()))return;let r=[];if(n.wordBasedSuggestions===`currentDocument`)Ih(this._modelService,e.uri)&&r.push(e.uri);else for(let t of this._modelService.getModels())Ih(this._modelService,t.uri)&&(t===e?r.unshift(t.uri):(n.wordBasedSuggestions===`allDocuments`||t.getLanguageId()===e.getLanguageId())&&r.push(t.uri));if(r.length===0)return;let i=this.languageConfigurationService.getLanguageConfiguration(e.getLanguageId()).getWordDefinition(),a=e.getWordAtPosition(t),o=a?new N(t.lineNumber,a.startColumn,t.lineNumber,a.endColumn):N.fromPositions(t),s=o.setEndPosition(t.lineNumber,t.column);this.logService.trace(`[WordBasedCompletionItemProvider]`,`word: "${a?.word||``}", wordDef: "${i}", replace: [${o.toString()}], insert: [${s.toString()}]`);let c=await(await this._workerManager.withWorker()).textualSuggest(r,a?.word,i);if(c)return{duration:c.duration,suggestions:c.words.map(e=>({kind:18,label:e,insertText:e,range:{insert:s,replace:o}}))}}},Rh=class extends O{constructor(e,t,n){super(),this._workerDescriptor=e,this._modelService=t,this._webWorkerService=n,this._editorWorkerClient=null,this._lastWorkerUsedTime=new Date().getTime(),this._register(new Cl).cancelAndSet(()=>this._checkStopIdleWorker(),Math.round(Fh/2),io),this._register(this._modelService.onModelRemoved(e=>this._checkStopEmptyWorker()))}dispose(){this._editorWorkerClient&&=(this._editorWorkerClient.dispose(),null),super.dispose()}_checkStopEmptyWorker(){this._editorWorkerClient&&this._modelService.getModels().length===0&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}_checkStopIdleWorker(){this._editorWorkerClient&&new Date().getTime()-this._lastWorkerUsedTime>Fh&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}withWorker(){return this._lastWorkerUsedTime=new Date().getTime(),this._editorWorkerClient||=new zh(this._workerDescriptor,!1,this._modelService,this._webWorkerService),Promise.resolve(this._editorWorkerClient)}};Rh=Mh([Nh(1,Ou),Nh(2,wf)],Rh);var ese=class{constructor(e){this._instance=e,this.proxy=this._instance}dispose(){this._instance.dispose()}setChannel(e,t){throw Error(`Not supported`)}},zh=class extends O{constructor(e,t,n,r){super(),this._workerDescriptorOrWorker=e,this._disposed=!1,this._modelService=n,this._webWorkerService=r,this._keepIdleModels=t,this._worker=null,this._modelManager=null}fhr(e,t){throw Error(`Not implemented!`)}_getOrCreateWorker(){if(!this._worker)try{this._worker=this._register(this._webWorkerService.createWorkerClient(this._workerDescriptorOrWorker)),Xoe.setChannel(this._worker,this._createEditorWorkerHost())}catch(e){bf(e),this._worker=this._createFallbackLocalWorker()}return this._worker}async _getProxy(){try{let e=this._getOrCreateWorker().proxy;return await e.$ping(),e}catch(e){return bf(e),this._worker=this._createFallbackLocalWorker(),this._worker.proxy}}_createFallbackLocalWorker(){return new ese(new Joe(null))}_createEditorWorkerHost(){return{$fhr:(e,t)=>this.fhr(e,t)}}_getOrCreateModelManager(e){return this._modelManager||=this._register(new Goe(e,this._modelService,this._keepIdleModels)),this._modelManager}async workerWithSyncedResources(e,t=!1){if(this._disposed)return Promise.reject(eee());let n=await this._getProxy();return this._getOrCreateModelManager(n).ensureSyncedResources(e,t),n}async textualSuggest(e,t,n){let r=await this.workerWithSyncedResources(e),i=n.source,a=n.flags;return r.$textualSuggest(e.map(e=>e.toString()),t,i,a)}dispose(){super.dispose(),this._disposed=!0}};zh=Mh([Nh(2,Ou),Nh(3,wf)],zh);function tse(e,t,n){return new nse(e,t,n)}var nse=class extends zh{constructor(e,t,n){super(n.worker,n.keepIdleModels||!1,e,t),this._foreignModuleHost=n.host||null,this._foreignProxy=this._getProxy().then(e=>new Proxy({},{get(t,n,r){if(n!==`then`){if(typeof n!=`string`)throw Error(`Not supported`);return(...t)=>e.$fmr(n,t)}}}))}fhr(e,t){if(!this._foreignModuleHost||typeof this._foreignModuleHost[e]!=`function`)return Promise.reject(Error(`Missing method `+e+` or missing main thread foreign host.`));try{return Promise.resolve(this._foreignModuleHost[e].apply(this._foreignModuleHost,t))}catch(e){return Promise.reject(e)}}getProxy(){return this._foreignProxy}withSyncedResources(e){return this.workerWithSyncedResources(e).then(e=>this.getProxy())}},Bh={ICodeEditor:`vs.editor.ICodeEditor`,IDiffEditor:`vs.editor.IDiffEditor`},Vh=new class{clone(){return this}equals(e){return this===e}};function Hh(e,t){return new Wi([new Ui(0,``,e)],t)}function Uh(e,t){let n=new Uint32Array(2);return n[0]=0,n[1]=(e<<0|33587200)>>>0,new Gi(n,[],t===null?Vh:t)}function Wh(e,t){let n=ds();if(n?.createTrustedTypesPolicy)try{return n.createTrustedTypesPolicy(e,t)}catch(e){Et(e);return}try{return globalThis.trustedTypes?.createPolicy(e,t)}catch(e){Et(e);return}}var Gh=class{static getLanguageId(e){return(e&255)>>>0}static getTokenType(e){return(e&768)>>>8}static containsBalancedBrackets(e){return!!(e&1024)}static getFontStyle(e){return(e&30720)>>>11}static getForeground(e){return(e&16744448)>>>15}static getBackground(e){return(e&4278190080)>>>24}static getClassNameFromMetadata(e){let t=`mtk`+this.getForeground(e),n=this.getFontStyle(e);return n&1&&(t+=` mtki`),n&2&&(t+=` mtkb`),n&4&&(t+=` mtku`),n&8&&(t+=` mtks`),t}static getInlineStyleFromMetadata(e,t){let n=this.getForeground(e),r=this.getFontStyle(e),i=`color: ${t[n]};`;r&1&&(i+=`font-style: italic;`),r&2&&(i+=`font-weight: bold;`);let a=``;return r&4&&(a+=` underline`),r&8&&(a+=` line-through`),a&&(i+=`text-decoration:${a};`),i}static getPresentationFromMetadata(e){let t=this.getForeground(e),n=this.getFontStyle(e);return{foreground:t,italic:!!(n&1),bold:!!(n&2),underline:!!(n&4),strikethrough:!!(n&8)}}},Kh=class e{static createEmpty(t,n){let r=e.defaultTokenMetadata,i=new Uint32Array(2);return i[0]=t.length,i[1]=r,new e(i,t,n)}static createFromTextAndMetadata(t,n){let r=0,i=``,a=[];for(let{text:e,metadata:n}of t)a.push(r+e.length,n),r+=e.length,i+=e;return new e(new Uint32Array(a),i,n)}static convertToEndOffset(e,t){let n=(e.length>>>1)-1;for(let t=0;t<n;t++)e[t<<1]=e[t+1<<1];e[n<<1]=t}static findIndexInTokensArray(e,t){if(e.length<=2)return 0;let n=0,r=(e.length>>>1)-1;for(;n<r;){let i=n+Math.floor((r-n)/2),a=e[i<<1];if(a===t)return i+1;a<t?n=i+1:a>t&&(r=i)}return n}static{this.defaultTokenMetadata=33587200}constructor(e,t,n){this._lineTokensBrand=void 0,(e.length>1?e[e.length-2]:0)!==t.length&&Et(Error(`Token length and text length do not match!`)),this._tokens=e,this._tokensCount=this._tokens.length>>>1,this._text=t,this.languageIdCodec=n}getTextLength(){return this._text.length}equals(t){return t instanceof e&&this.slicedEquals(t,0,this._tokensCount)}slicedEquals(e,t,n){if(this._text!==e._text||this._tokensCount!==e._tokensCount)return!1;let r=t<<1,i=r+(n<<1);for(let t=r;t<i;t++)if(this._tokens[t]!==e._tokens[t])return!1;return!0}getLineContent(){return this._text}getCount(){return this._tokensCount}getStartOffset(e){return e>0?this._tokens[e-1<<1]:0}getMetadata(e){return this._tokens[(e<<1)+1]}getLanguageId(e){let t=this._tokens[(e<<1)+1],n=Gh.getLanguageId(t);return this.languageIdCodec.decodeLanguageId(n)}getStandardTokenType(e){let t=this._tokens[(e<<1)+1];return Gh.getTokenType(t)}getForeground(e){let t=this._tokens[(e<<1)+1];return Gh.getForeground(t)}getClassName(e){let t=this._tokens[(e<<1)+1];return Gh.getClassNameFromMetadata(t)}getInlineStyle(e,t){let n=this._tokens[(e<<1)+1];return Gh.getInlineStyleFromMetadata(n,t)}getPresentation(e){let t=this._tokens[(e<<1)+1];return Gh.getPresentationFromMetadata(t)}getEndOffset(e){return this._tokens[e<<1]}findTokenIndexAtOffset(t){return e.findIndexInTokensArray(this._tokens,t)}inflate(){return this}sliceAndInflate(e,t,n){return new rse(this,e,t,n)}sliceZeroCopy(e){return this.sliceAndInflate(e.start,e.endExclusive,0)}withInserted(t){if(t.length===0)return this;let n=0,r=0,i=``,a=[],o=0;for(;;){let e=n<this._tokensCount?this._tokens[n<<1]:-1,s=r<t.length?t[r]:null;if(e!==-1&&(s===null||e<=s.offset)){i+=this._text.substring(o,e);let t=this._tokens[(n<<1)+1];a.push(i.length,t),n++,o=e}else if(s){if(s.offset>o){i+=this._text.substring(o,s.offset);let e=this._tokens[(n<<1)+1];a.push(i.length,e),o=s.offset}i+=s.text,a.push(i.length,s.tokenMetadata),r++}else break}return new e(new Uint32Array(a),i,this.languageIdCodec)}getTokensInRange(e){let t=new ase,n=this.findTokenIndexAtOffset(e.start),r=this.findTokenIndexAtOffset(e.endExclusive);for(let i=n;i<=r;i++){let n=new cm(this.getStartOffset(i),this.getEndOffset(i)).intersectionLength(e);n>0&&t.add(n,this.getMetadata(i))}return t.build()}getTokenText(e){let t=this.getStartOffset(e),n=this.getEndOffset(e);return this._text.substring(t,n)}forEach(e){let t=this.getCount();for(let n=0;n<t;n++)e(n)}toString(){let e=``;return this.forEach(t=>{e+=`[${this.getTokenText(t)}]{${this.getClassName(t)}}`}),e}},rse=class e{constructor(e,t,n,r){this._source=e,this._startOffset=t,this._endOffset=n,this._deltaOffset=r,this._firstTokenIndex=e.findTokenIndexAtOffset(t),this.languageIdCodec=e.languageIdCodec,this._tokensCount=0;for(let t=this._firstTokenIndex,r=e.getCount();t<r&&!(e.getStartOffset(t)>=n);t++)this._tokensCount++}getMetadata(e){return this._source.getMetadata(this._firstTokenIndex+e)}getLanguageId(e){return this._source.getLanguageId(this._firstTokenIndex+e)}getLineContent(){return this._source.getLineContent().substring(this._startOffset,this._endOffset)}equals(t){return t instanceof e&&this._startOffset===t._startOffset&&this._endOffset===t._endOffset&&this._deltaOffset===t._deltaOffset&&this._source.slicedEquals(t._source,this._firstTokenIndex,this._tokensCount)}getCount(){return this._tokensCount}getStandardTokenType(e){return this._source.getStandardTokenType(this._firstTokenIndex+e)}getForeground(e){return this._source.getForeground(this._firstTokenIndex+e)}getEndOffset(e){let t=this._source.getEndOffset(this._firstTokenIndex+e);return Math.min(this._endOffset,t)-this._startOffset+this._deltaOffset}getClassName(e){return this._source.getClassName(this._firstTokenIndex+e)}getInlineStyle(e,t){return this._source.getInlineStyle(this._firstTokenIndex+e,t)}getPresentation(e){return this._source.getPresentation(this._firstTokenIndex+e)}findTokenIndexAtOffset(e){return this._source.findTokenIndexAtOffset(e+this._startOffset-this._deltaOffset)-this._firstTokenIndex}getTokenText(e){let t=this._firstTokenIndex+e,n=this._source.getStartOffset(t),r=this._source.getEndOffset(t),i=this._source.getTokenText(t);return n<this._startOffset&&(i=i.substring(this._startOffset-n)),r>this._endOffset&&(i=i.substring(0,i.length-(r-this._endOffset))),i}forEach(e){for(let t=0;t<this.getCount();t++)e(t)}};function ise(e,t){let n=t.lineNumber;if(!e.tokenization.isCheapToTokenize(n))return;e.tokenization.forceTokenization(n);let r=e.tokenization.getLineTokens(n),i=r.findTokenIndexAtOffset(t.column-1);return r.getStandardTokenType(i)}var qh=class e{static fromLineTokens(t){let n=[];for(let e=0;e<t.getCount();e++)n.push(new Jh(t.getEndOffset(e)-t.getStartOffset(e),t.getMetadata(e)));return e.create(n)}static create(t){return new e(t)}constructor(e){this._tokenInfo=e}toLineTokens(e,t){return Kh.createFromTextAndMetadata(this.map((t,n)=>({text:t.substring(e),metadata:n.metadata})),t)}forEach(e){let t=0;for(let n of this._tokenInfo)e(new cm(t,t+n.length),n),t+=n.length}map(e){let t=[],n=0;for(let r of this._tokenInfo){let i=new cm(n,n+r.length);t.push(e(i,r)),n+=r.length}return t}slice(t){let n=[],r=0;for(let e of this._tokenInfo){let i=r,a=i+e.length;if(a>t.start){if(i>=t.endExclusive)break;let r=Math.max(0,t.start-i),o=Math.max(0,a-t.endExclusive);n.push(new Jh(e.length-r-o,e.metadata))}r+=e.length}return e.create(n)}},Jh=class{constructor(e,t){this.length=e,this.metadata=t}},ase=class{constructor(){this._tokens=[]}add(e,t){this._tokens.push(new Jh(e,t))}build(){return qh.create(this._tokens)}},Yh=class e{constructor(e,t,n,r){this.startColumn=e,this.endColumn=t,this.className=n,this.type=r,this._lineDecorationBrand=void 0}static _equals(e,t){return e.startColumn===t.startColumn&&e.endColumn===t.endColumn&&e.className===t.className&&e.type===t.type}static equalsArr(t,n){let r=t.length;if(r!==n.length)return!1;for(let i=0;i<r;i++)if(!e._equals(t[i],n[i]))return!1;return!0}static extractWrapped(t,n,r){if(t.length===0)return t;let i=n+1,a=r+1,o=r-n,s=[],c=0;for(let n of t)n.endColumn<=i||n.startColumn>=a||(s[c++]=new e(Math.max(1,n.startColumn-i+1),Math.min(o+1,n.endColumn-i+1),n.className,n.type));return s}static filter(t,n,r,i){if(t.length===0)return[];let a=[],o=0;for(let s=0,c=t.length;s<c;s++){let c=t[s],l=c.range;if(l.endLineNumber<n||l.startLineNumber>n||l.isEmpty()&&(c.type===0||c.type===3))continue;let u=l.startLineNumber===n?l.startColumn:r,d=l.endLineNumber===n?l.endColumn:i;a[o++]=new e(u,d,c.inlineClassName,c.type)}return a}static _typeCompare(e,t){let n=[2,0,1,3];return n[e]-n[t]}static compare(t,n){if(t.startColumn!==n.startColumn)return t.startColumn-n.startColumn;if(t.endColumn!==n.endColumn)return t.endColumn-n.endColumn;let r=e._typeCompare(t.type,n.type);return r===0?t.className===n.className?0:t.className<n.className?-1:1:r}},Xh=class{constructor(e,t,n,r){this.startOffset=e,this.endOffset=t,this.className=n,this.metadata=r}},ose=class e{constructor(){this.stopOffsets=[],this.classNames=[],this.metadata=[],this.count=0}static _metadata(e){let t=0;for(let n=0,r=e.length;n<r;n++)t|=e[n];return t}consumeLowerThan(t,n,r){for(;this.count>0&&this.stopOffsets[0]<t;){let t=0;for(;t+1<this.count&&this.stopOffsets[t]===this.stopOffsets[t+1];)t++;r.push(new Xh(n,this.stopOffsets[t],this.classNames.join(` `),e._metadata(this.metadata))),n=this.stopOffsets[t]+1,this.stopOffsets.splice(0,t+1),this.classNames.splice(0,t+1),this.metadata.splice(0,t+1),this.count-=t+1}return this.count>0&&n<t&&(r.push(new Xh(n,t-1,this.classNames.join(` `),e._metadata(this.metadata))),n=t),n}insert(e,t,n){if(this.count===0||this.stopOffsets[this.count-1]<=e)this.stopOffsets.push(e),this.classNames.push(t),this.metadata.push(n);else for(let r=0;r<this.count;r++)if(this.stopOffsets[r]>=e){this.stopOffsets.splice(r,0,e),this.classNames.splice(r,0,t),this.metadata.splice(r,0,n);break}this.count++}},sse=class{static normalize(e,t){if(t.length===0)return[];let n=[],r=new ose,i=0;for(let a=0,o=t.length;a<o;a++){let o=t[a],s=o.startColumn,c=o.endColumn,l=o.className,u=o.type===1?2:o.type===2?4:0;s>1&&Po(e.charCodeAt(s-2))&&s--,c>1&&Po(e.charCodeAt(c-2))&&c--;let d=s-1,f=c-2;i=r.consumeLowerThan(d,i,n),r.count===0&&(i=d),r.insert(f,l,u)}return r.consumeLowerThan(1073741824,i,n),n}},Zh=class{constructor(e,t,n,r){this.endIndex=e,this.type=t,this.metadata=n,this.containsRTL=r,this._linePartBrand=void 0}isWhitespace(){return!!(this.metadata&1)}isPseudoAfter(){return!!(this.metadata&4)}},Qh=class{get isLTR(){return!this.containsRTL&&this.textDirection!==Wp.RTL}constructor(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x=!1){this.useMonospaceOptimizations=e,this.canUseHalfwidthRightwardsArrow=t,this.lineContent=n,this.continuesWithWrappedLine=r,this.isBasicASCII=i,this.containsRTL=a,this.fauxIndentLength=o,this.lineTokens=s,this.lineDecorations=c.sort(Yh.compare),this.tabSize=l,this.startVisibleColumn=u,this.spaceWidth=d,this.stopRenderingLineAfter=m,this.renderWhitespace=h===`all`?4:h===`boundary`?1:h===`selection`?2:h===`trailing`?3:0,this.renderControlCharacters=g,this.fontLigatures=_,this.selectionsOnLine=v&&v.sort((e,t)=>e.start<t.start?-1:1),this.renderNewLineWhenEmpty=x,this.textDirection=y,this.verticalScrollbarSize=b,Math.abs(p-d)<Math.abs(f-d)?(this.renderSpaceWidth=p,this.renderSpaceCharCode=11825):(this.renderSpaceWidth=f,this.renderSpaceCharCode=183)}sameSelection(e){if(this.selectionsOnLine===null)return e===null;if(e===null||e.length!==this.selectionsOnLine.length)return!1;for(let t=0;t<this.selectionsOnLine.length;t++)if(!this.selectionsOnLine[t].equals(e[t]))return!1;return!0}equals(e){return this.useMonospaceOptimizations===e.useMonospaceOptimizations&&this.canUseHalfwidthRightwardsArrow===e.canUseHalfwidthRightwardsArrow&&this.lineContent===e.lineContent&&this.continuesWithWrappedLine===e.continuesWithWrappedLine&&this.isBasicASCII===e.isBasicASCII&&this.containsRTL===e.containsRTL&&this.fauxIndentLength===e.fauxIndentLength&&this.tabSize===e.tabSize&&this.startVisibleColumn===e.startVisibleColumn&&this.spaceWidth===e.spaceWidth&&this.renderSpaceWidth===e.renderSpaceWidth&&this.renderSpaceCharCode===e.renderSpaceCharCode&&this.stopRenderingLineAfter===e.stopRenderingLineAfter&&this.renderWhitespace===e.renderWhitespace&&this.renderControlCharacters===e.renderControlCharacters&&this.fontLigatures===e.fontLigatures&&Yh.equalsArr(this.lineDecorations,e.lineDecorations)&&this.lineTokens.equals(e.lineTokens)&&this.sameSelection(e.selectionsOnLine)&&this.textDirection===e.textDirection&&this.verticalScrollbarSize===e.verticalScrollbarSize&&this.renderNewLineWhenEmpty===e.renderNewLineWhenEmpty}},$h=class{constructor(e,t){this.partIndex=e,this.charIndex=t}},eg=class e{static getPartIndex(e){return(e&4294901760)>>>16}static getCharIndex(e){return(e&65535)>>>0}constructor(e,t){this.length=e,this._data=new Uint32Array(this.length),this._horizontalOffset=new Uint32Array(this.length)}setColumnInfo(e,t,n,r){let i=(t<<16|n<<0)>>>0;this._data[e-1]=i,this._horizontalOffset[e-1]=r}getHorizontalOffset(e){return this._horizontalOffset.length===0?0:this._horizontalOffset[e-1]}charOffsetToPartData(e){return this.length===0?0:e<0?this._data[0]:e>=this.length?this._data[this.length-1]:this._data[e]}getDomPosition(t){let n=this.charOffsetToPartData(t-1);return new $h(e.getPartIndex(n),e.getCharIndex(n))}getColumn(e,t){return this.partDataToCharOffset(e.partIndex,t,e.charIndex)+1}partDataToCharOffset(t,n,r){if(this.length===0)return 0;let i=(t<<16|r<<0)>>>0,a=0,o=this.length-1;for(;a+1<o;){let e=a+o>>>1,t=this._data[e];if(t===i)return e;t>i?o=e:a=e}if(a===o)return a;let s=this._data[a],c=this._data[o];if(s===i)return a;if(c===i)return o;let l=e.getPartIndex(s),u=e.getCharIndex(s),d=e.getPartIndex(c),f;return f=l===d?e.getCharIndex(c):n,r-u<=f-r?a:o}},tg=class{constructor(e,t){this._renderLineOutputBrand=void 0,this.characterMapping=e,this.containsForeignElements=t}};function ng(e,t){if(e.lineContent.length===0){if(e.lineDecorations.length>0){t.appendString(`<span>`);let n=0,r=0,i=0;for(let a of e.lineDecorations)(a.type===1||a.type===2)&&(t.appendString(`<span class="`),t.appendString(a.className),t.appendString(`"></span>`),a.type===1&&(i|=1,n++),a.type===2&&(i|=2,r++));t.appendString(`</span>`);let a=new eg(1,n+r);return a.setColumnInfo(1,n,0,0),new tg(a,i)}return e.renderNewLineWhenEmpty?t.appendString(`<span><span>
48
48
  </span></span>`):t.appendString(`<span><span></span></span>`),new tg(new eg(0,0),0)}return _se(use(e),t)}var cse=class{constructor(e,t,n){this.characterMapping=e,this.html=t,this.containsForeignElements=n}};function rg(e){let t=new Ff(1e4),n=ng(e,t);return new cse(n.characterMapping,t.build(),n.containsForeignElements)}var lse=class{constructor(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m){this.fontIsMonospace=e,this.canUseHalfwidthRightwardsArrow=t,this.lineContent=n,this.len=r,this.isOverflowing=i,this.overflowingCharCount=a,this.parts=o,this.containsForeignElements=s,this.fauxIndentLength=c,this.tabSize=l,this.startVisibleColumn=u,this.spaceWidth=d,this.renderSpaceCharCode=f,this.renderWhitespace=p,this.renderControlCharacters=m}};function use(e){let t=e.lineContent,n,r,i;e.stopRenderingLineAfter!==-1&&e.stopRenderingLineAfter<t.length?(n=!0,r=t.length-e.stopRenderingLineAfter,i=e.stopRenderingLineAfter):(n=!1,r=0,i=t.length);let a=dse(t,e.containsRTL,e.lineTokens,e.fauxIndentLength,i);e.renderControlCharacters&&!e.isBasicASCII&&(a=mse(t,a)),(e.renderWhitespace===4||e.renderWhitespace===1||e.renderWhitespace===2&&e.selectionsOnLine||e.renderWhitespace===3&&!e.continuesWithWrappedLine)&&(a=hse(e,t,i,a));let o=0;if(e.lineDecorations.length>0){for(let t=0,n=e.lineDecorations.length;t<n;t++){let n=e.lineDecorations[t];n.type===3||n.type===1?o|=1:n.type===2&&(o|=2)}a=gse(t,i,a,e.lineDecorations)}return a=e.containsRTL?pse(t,a):fse(t,a,!e.isBasicASCII||e.fontLigatures),new lse(e.useMonospaceOptimizations,e.canUseHalfwidthRightwardsArrow,t,i,n,r,a,o,e.fauxIndentLength,e.tabSize,e.startVisibleColumn,e.spaceWidth,e.renderSpaceCharCode,e.renderWhitespace,e.renderControlCharacters)}function dse(e,t,n,r,i){let a=[],o=0;r>0&&(a[o++]=new Zh(r,``,0,!1));let s=r;for(let c=0,l=n.getCount();c<l;c++){let l=n.getEndOffset(c);if(l<=r)continue;let u=n.getClassName(c);if(l>=i){let n=t?Uo(e.substring(s,i)):!1;a[o++]=new Zh(i,u,0,n);break}let d=t?Uo(e.substring(s,l)):!1;a[o++]=new Zh(l,u,0,d),s=l}return a}function fse(e,t,n){let r=0,i=[],a=0;if(n)for(let n=0,o=t.length;n<o;n++){let o=t[n],s=o.endIndex;if(r+50<s){let t=o.type,n=o.metadata,c=o.containsRTL,l=-1,u=r;for(let o=r;o<s;o++)e.charCodeAt(o)===32&&(l=o),l!==-1&&o-u>=50&&(i[a++]=new Zh(l+1,t,n,c),u=l+1,l=-1);u!==s&&(i[a++]=new Zh(s,t,n,c))}else i[a++]=o;r=s}else for(let e=0,n=t.length;e<n;e++){let n=t[e],o=n.endIndex,s=o-r;if(s>50){let e=n.type,t=n.metadata,c=n.containsRTL,l=Math.ceil(s/50);for(let n=1;n<l;n++){let o=r+n*50;i[a++]=new Zh(o,e,t,c)}i[a++]=new Zh(o,e,t,c)}else i[a++]=n;r=o}return i}function pse(e,t){if(t.length===0)return t;let n=t[0];if(!n.containsRTL)return t;let r=n.endIndex,i=0;for(let t=0;t<r;t++){let n=e.charCodeAt(t);if(n!==32&&n!==9){i=t;break}}if(i===0)return t;let a=[];a.push(new Zh(i,n.type,n.metadata,!1)),a.push(new Zh(r,n.type,n.metadata,n.containsRTL));for(let e=1;e<t.length;e++)a.push(t[e]);return a}function ig(e){return e<32?e!==9:e===127||e>=8234&&e<=8238||e>=8294&&e<=8297||e>=8206&&e<=8207||e===1564}function mse(e,t){let n=[],r=new Zh(0,``,0,!1),i=0;for(let a of t){let t=a.endIndex;for(;i<t;i++)ig(e.charCodeAt(i))&&(i>r.endIndex&&(r=new Zh(i,a.type,a.metadata,a.containsRTL),n.push(r)),r=new Zh(i+1,`mtkcontrol`,a.metadata,!1),n.push(r));i>r.endIndex&&(r=new Zh(t,a.type,a.metadata,a.containsRTL),n.push(r))}return n}function hse(e,t,n,r){let i=e.continuesWithWrappedLine,a=e.fauxIndentLength,o=e.tabSize,s=e.startVisibleColumn,c=e.useMonospaceOptimizations,l=e.selectionsOnLine,u=e.renderWhitespace===1,d=e.renderWhitespace===3,f=e.renderSpaceWidth!==e.spaceWidth,p=[],m=0,h=0,g=r[h].type,_=r[h].containsRTL,v=r[h].endIndex,y=r.length,b=!1,x=yo(t),S;x===-1?(b=!0,x=n,S=n):S=xo(t);let C=!1,ee=0,te=l&&l[ee],ne=s%o;for(let e=a;e<n;e++){let i=t.charCodeAt(e);te&&te.endExclusive<=e&&(ee++,te=l&&l[ee]);let s;if(e<x||e>S)s=!0;else if(i===9)s=!0;else if(i===32){if(u){if(C)s=!0;else{let r=e+1<n?t.charCodeAt(e+1):0;s=r===32||r===9}}else s=!0}else s=!1;if(s&&l&&(s=!!te&&te.start<=e&&e<te.endExclusive),s&&d&&(s=b||e>S),s&&_&&e>=x&&e<=S&&(s=!1),C){if(!s||!c&&ne>=o){if(f){let t=m>0?p[m-1].endIndex:a;for(let n=t+1;n<=e;n++)p[m++]=new Zh(n,`mtkw`,1,!1)}else p[m++]=new Zh(e,`mtkw`,1,!1);ne%=o}}else(e===v||s&&e>a)&&(p[m++]=new Zh(e,g,0,_),ne%=o);for(i===9?ne=o:qo(i)?ne+=2:ne++,C=s;e===v&&(h++,h<y);)g=r[h].type,_=r[h].containsRTL,v=r[h].endIndex}let re=!1;if(C){if(i&&u){let e=n>0?t.charCodeAt(n-1):0,r=n>1?t.charCodeAt(n-2):0;(e!==32||r===32||r===9)&&(re=!0)}else re=!0}if(re){if(f){let e=m>0?p[m-1].endIndex:a;for(let t=e+1;t<=n;t++)p[m++]=new Zh(t,`mtkw`,1,!1)}else p[m++]=new Zh(n,`mtkw`,1,!1)}else p[m++]=new Zh(n,g,0,_);return p}function gse(e,t,n,r){r.sort(Yh.compare);let i=sse.normalize(e,r),a=i.length,o=0,s=[],c=0,l=0;for(let e=0,t=n.length;e<t;e++){let t=n[e],r=t.endIndex,u=t.type,d=t.metadata,f=t.containsRTL;for(;o<a&&i[o].startOffset<r;){let e=i[o];if(e.startOffset>l&&(l=e.startOffset,s[c++]=new Zh(l,u,d,f)),e.endOffset+1<=r)l=e.endOffset+1,s[c++]=new Zh(l,u+` `+e.className,d|e.metadata,f),o++;else{l=r,s[c++]=new Zh(l,u+` `+e.className,d|e.metadata,f);break}}r>l&&(l=r,s[c++]=new Zh(l,u,d,f))}let u=n[n.length-1].endIndex;if(o<a&&i[o].startOffset===u)for(;o<a&&i[o].startOffset===u;){let e=i[o];s[c++]=new Zh(l,e.className,e.metadata,!1),o++}return s}function _se(e,t){let n=e.fontIsMonospace,r=e.canUseHalfwidthRightwardsArrow,i=e.containsForeignElements,a=e.lineContent,o=e.len,s=e.isOverflowing,c=e.overflowingCharCount,l=e.parts,u=e.fauxIndentLength,d=e.tabSize,f=e.startVisibleColumn,p=e.spaceWidth,m=e.renderSpaceCharCode,h=e.renderWhitespace,g=e.renderControlCharacters,_=new eg(o+1,l.length),v=!1,y=0,b=f,x=0,S=0,C=0;t.appendString(`<span>`);for(let e=0,s=l.length;e<s;e++){let s=l[e],c=s.endIndex,f=s.type,ee=s.containsRTL,te=h!==0&&s.isWhitespace(),ne=te&&!n&&(f===`mtkw`||!i),re=y===c&&s.isPseudoAfter();if(x=0,t.appendString(`<span `),ee&&t.appendString(`style="unicode-bidi:isolate" `),t.appendString(`class="`),t.appendString(ne?`mtkz`:f),t.appendASCIICharCode(34),te){let n=0;{let e=y,t=b;for(;e<c;e++){let r=(a.charCodeAt(e)===9?d-t%d:1)|0;n+=r,e>=u&&(t+=r)}}for(ne&&(t.appendString(` style="width:`),t.appendString(String(p*n)),t.appendString(`px"`)),t.appendASCIICharCode(62);y<c;y++){_.setColumnInfo(y+1,e-C,x,S),C=0;let n=a.charCodeAt(y),i,o;if(n===9){i=d-b%d|0,o=i,!r||o>1?t.appendCharCode(8594):t.appendCharCode(65515);for(let e=2;e<=o;e++)t.appendCharCode(160)}else i=2,o=1,t.appendCharCode(m),t.appendCharCode(8204);x+=i,S+=o,y>=u&&(b+=o)}}else for(t.appendASCIICharCode(62);y<c;y++){_.setColumnInfo(y+1,e-C,x,S),C=0;let n=a.charCodeAt(y),r=1,i=1;switch(n){case 9:r=d-b%d,i=r;for(let e=1;e<=r;e++)t.appendCharCode(160);break;case 32:t.appendCharCode(160);break;case 60:t.appendString(`&lt;`);break;case 62:t.appendString(`&gt;`);break;case 38:t.appendString(`&amp;`);break;case 0:g?t.appendCharCode(9216):t.appendString(`&#00;`);break;case 65279:case 8232:case 8233:case 133:t.appendCharCode(65533);break;default:qo(n)&&i++,g&&n<32?t.appendCharCode(9216+n):g&&n===127?t.appendCharCode(9249):g&&ig(n)?(t.appendString(`[U+`),t.appendString(vse(n)),t.appendString(`]`),r=8,i=r):t.appendCharCode(n)}x+=r,S+=i,y>=u&&(b+=i)}re?C++:C=0,y>=o&&!v&&s.isPseudoAfter()&&(v=!0,_.setColumnInfo(y+1,e,x,S)),t.appendString(`</span>`)}return v||_.setColumnInfo(o+1,l.length-1,x,S),s&&(t.appendString(`<span class="mtkoverflow">`),t.appendString(w(832,`Show more ({0})`,yse(c))),t.appendString(`</span>`)),t.appendString(`</span>`),new tg(_,i)}function vse(e){return e.toString(16).toUpperCase().padStart(4,`0`)}function yse(e){return e<1024?w(833,`{0} chars`,e):e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(1)} MB`}var ag=class{constructor(e,t,n,r){this._viewportBrand=void 0,this.top=e|0,this.left=t|0,this.width=n|0,this.height=r|0}},bse=class{constructor(e,t){this.tabSize=e,this.data=t}},og=class{constructor(e,t,n,r,i,a,o){this._viewLineDataBrand=void 0,this.content=e,this.continuesWithWrappedLine=t,this.minColumn=n,this.maxColumn=r,this.startVisibleColumn=i,this.tokens=a,this.inlineDecorations=o}},sg=class e{constructor(t,n,r,i,a,o,s,c,l,u,d,f){this.minColumn=t,this.maxColumn=n,this.content=r,this.continuesWithWrappedLine=i,this.isBasicASCII=e.isBasicASCII(r,o),this.containsRTL=e.containsRTL(r,this.isBasicASCII,a),this.tokens=s,this.inlineDecorations=c,this.tabSize=l,this.startVisibleColumn=u,this.textDirection=d,this.hasVariableFonts=f}static isBasicASCII(e,t){return!t||Wo(e)}static containsRTL(e,t,n){return!t&&n?Uo(e):!1}},cg=class e{constructor(e,t,n){this.color=e,this.zIndex=t,this.data=n}static compareByRenderingProps(e,t){return e.zIndex===t.zIndex?e.color<t.color?-1:+(e.color>t.color):e.zIndex-t.zIndex}static equals(e,t){return e.color===t.color&&e.zIndex===t.zIndex&&Ue(e.data,t.data)}static equalsArr(t,n){return Ue(t,n,e.equals)}};function xse(e){return Array.isArray(e)}function Sse(e){return!xse(e)}function lg(e){return typeof e==`string`}function ug(e){return!lg(e)}function dg(e){return!e}function fg(e,t){return e.ignoreCase&&t?t.toLowerCase():t}function pg(e){return e.replace(/[&<>'"_]/g,`-`)}function Cse(e,t){console.log(`${e.languageId}: ${t}`)}function mg(e,t){return Error(`${e.languageId}: ${t}`)}function hg(e,t,n,r,i){let a=/\$((\$)|(#)|(\d\d?)|[sS](\d\d?)|@(\w+))/g,o=null;return t.replace(a,function(t,a,s,c,l,u,d,f,p){return dg(s)?dg(c)?!dg(l)&&l<r.length?fg(e,r[l]):!dg(d)&&e&&typeof e[d]==`string`?e[d]:(o===null&&(o=i.split(`.`),o.unshift(i)),!dg(u)&&u<o.length?fg(e,o[u]):``):fg(e,n):`$`})}function wse(e,t,n){let r=/\$[sS](\d\d?)/g,i=null;return t.replace(r,function(t,r){return i===null&&(i=n.split(`.`),i.unshift(n)),!dg(r)&&r<i.length?po(fg(e,i[r])):``})}function gg(e,t){let n=t;for(;n&&n.length>0;){let t=e.tokenizer[n];if(t)return t;let r=n.lastIndexOf(`.`);n=r<0?null:n.substr(0,r)}return null}function Tse(e,t){let n=t;for(;n&&n.length>0;){if(e.stateNames[n])return!0;let t=n.lastIndexOf(`.`);n=t<0?null:n.substr(0,t)}return!1}var Ese=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Dse=function(e,t){return function(n,r){t(n,r,e)}},_g,vg=5,yg=class e{static{this._INSTANCE=new e(vg)}static create(e,t){return this._INSTANCE.create(e,t)}constructor(e){this._maxCacheDepth=e,this._entries=Object.create(null)}create(e,t){if(e!==null&&e.depth>=this._maxCacheDepth)return new bg(e,t);let n=bg.getStackElementId(e);n.length>0&&(n+=`|`),n+=t;let r=this._entries[n];return r||(r=new bg(e,t),this._entries[n]=r,r)}},bg=class e{constructor(e,t){this.parent=e,this.state=t,this.depth=(this.parent?this.parent.depth:0)+1}static getStackElementId(e){let t=``;for(;e!==null;)t.length>0&&(t+=`|`),t+=e.state,e=e.parent;return t}static _equals(e,t){for(;e!==null&&t!==null;){if(e===t)return!0;if(e.state!==t.state)return!1;e=e.parent,t=t.parent}return e===null&&t===null}equals(t){return e._equals(this,t)}push(e){return yg.create(this,e)}pop(){return this.parent}popall(){let e=this;for(;e.parent;)e=e.parent;return e}switchTo(e){return yg.create(this.parent,e)}},xg=class e{constructor(e,t){this.languageId=e,this.state=t}equals(e){return this.languageId===e.languageId&&this.state.equals(e.state)}clone(){return this.state.clone()===this.state?this:new e(this.languageId,this.state)}},Sg=class e{static{this._INSTANCE=new e(vg)}static create(e,t){return this._INSTANCE.create(e,t)}constructor(e){this._maxCacheDepth=e,this._entries=Object.create(null)}create(e,t){if(t!==null||e!==null&&e.depth>=this._maxCacheDepth)return new Cg(e,t);let n=bg.getStackElementId(e),r=this._entries[n];return r||(r=new Cg(e,null),this._entries[n]=r,r)}},Cg=class e{constructor(e,t){this.stack=e,this.embeddedLanguageData=t}clone(){return(this.embeddedLanguageData?this.embeddedLanguageData.clone():null)===this.embeddedLanguageData?this:Sg.create(this.stack,this.embeddedLanguageData)}equals(t){return!(t instanceof e)||!this.stack.equals(t.stack)?!1:this.embeddedLanguageData===null&&t.embeddedLanguageData===null?!0:this.embeddedLanguageData===null||t.embeddedLanguageData===null?!1:this.embeddedLanguageData.equals(t.embeddedLanguageData)}},Ose=class{constructor(){this._tokens=[],this._languageId=null,this._lastTokenType=null,this._lastTokenLanguage=null}enterLanguage(e){this._languageId=e}emit(e,t){(this._lastTokenType!==t||this._lastTokenLanguage!==this._languageId)&&(this._lastTokenType=t,this._lastTokenLanguage=this._languageId,this._tokens.push(new Ui(e,t,this._languageId)))}nestedLanguageTokenize(e,t,n,r){let i=n.languageId,a=n.state,o=ca.get(i);if(!o)return this.enterLanguage(i),this.emit(r,``),a;let s=o.tokenize(e,t,a);if(r!==0)for(let e of s.tokens)this._tokens.push(new Ui(e.offset+r,e.type,e.language));else this._tokens=this._tokens.concat(s.tokens);return this._lastTokenType=null,this._lastTokenLanguage=null,this._languageId=null,s.endState}finalize(e){return new Wi(this._tokens,e)}},kse=class e{constructor(e,t){this._languageService=e,this._theme=t,this._prependTokens=null,this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0}enterLanguage(e){this._currentLanguageId=this._languageService.languageIdCodec.encodeLanguageId(e)}emit(e,t){let n=this._theme.match(this._currentLanguageId,t)|1024;this._lastTokenMetadata!==n&&(this._lastTokenMetadata=n,this._tokens.push(e),this._tokens.push(n))}static _merge(e,t,n){let r=e===null?0:e.length,i=t.length,a=n===null?0:n.length;if(r===0&&i===0&&a===0)return new Uint32Array;if(r===0&&i===0)return n;if(i===0&&a===0)return e;let o=new Uint32Array(r+i+a);e!==null&&o.set(e);for(let e=0;e<i;e++)o[r+e]=t[e];return n!==null&&o.set(n,r+i),o}nestedLanguageTokenize(t,n,r,i){let a=r.languageId,o=r.state,s=ca.get(a);if(!s)return this.enterLanguage(a),this.emit(i,``),o;let c=s.tokenizeEncoded(t,n,o);if(i!==0)for(let e=0,t=c.tokens.length;e<t;e+=2)c.tokens[e]+=i;return this._prependTokens=e._merge(this._prependTokens,this._tokens,c.tokens),this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0,c.endState}finalize(t){return new Gi(e._merge(this._prependTokens,this._tokens,null),[],t)}},wg=_g=class extends O{constructor(e,t,n,r,i){super(),this._configurationService=i,this._languageService=e,this._standaloneThemeService=t,this._languageId=n,this._lexer=r,this._embeddedLanguages=Object.create(null),this.embeddedLoaded=Promise.resolve(void 0);let a=!1;this._register(ca.onDidChange(e=>{if(a)return;let t=!1;for(let n=0,r=e.changedLanguages.length;n<r;n++){let r=e.changedLanguages[n];if(this._embeddedLanguages[r]){t=!0;break}}t&&(a=!0,ca.handleChange([this._languageId]),a=!1)})),this._maxTokenizationLineLength=this._configurationService.getValue(`editor.maxTokenizationLineLength`,{overrideIdentifier:this._languageId}),this._register(this._configurationService.onDidChangeConfiguration(e=>{e.affectsConfiguration(`editor.maxTokenizationLineLength`)&&(this._maxTokenizationLineLength=this._configurationService.getValue(`editor.maxTokenizationLineLength`,{overrideIdentifier:this._languageId}))}))}getLoadStatus(){let e=[];for(let t in this._embeddedLanguages){let n=ca.get(t);if(n){if(n instanceof _g){let t=n.getLoadStatus();t.loaded===!1&&e.push(t.promise)}continue}ca.isResolved(t)||e.push(ca.getOrCreate(t))}return e.length===0?{loaded:!0}:{loaded:!1,promise:Promise.all(e).then(e=>void 0)}}getInitialState(){let e=yg.create(null,this._lexer.start);return Sg.create(e,null)}tokenize(e,t,n){if(e.length>=this._maxTokenizationLineLength)return Hh(this._languageId,n);let r=new Ose,i=this._tokenize(e,t,n,r);return r.finalize(i)}tokenizeEncoded(e,t,n){if(e.length>=this._maxTokenizationLineLength)return Uh(this._languageService.languageIdCodec.encodeLanguageId(this._languageId),n);let r=new kse(this._languageService,this._standaloneThemeService.getColorTheme().tokenTheme),i=this._tokenize(e,t,n,r);return r.finalize(i)}_tokenize(e,t,n,r){return n.embeddedLanguageData?this._nestedTokenize(e,t,n,0,r):this._myTokenize(e,t,n,0,r)}_findLeavingNestedLanguageOffset(e,t){let n=this._lexer.tokenizer[t.stack.state];if(!n&&(n=gg(this._lexer,t.stack.state),!n))throw mg(this._lexer,`tokenizer state is not defined: `+t.stack.state);let r=-1,i=!1;for(let a of n){if(!ug(a.action)||!(a.action.nextEmbedded===`@pop`||a.action.hasEmbeddedEndInCases))continue;i=!0;let n=a.resolveRegex(t.stack.state),o=n.source;if(o.substr(0,4)===`^(?:`&&o.substr(o.length-1,1)===`)`){let e=(n.ignoreCase?`i`:``)+(n.unicode?`u`:``);n=new RegExp(o.substr(4,o.length-5),e)}let s=e.search(n);s===-1||s!==0&&a.matchOnlyAtLineStart||(r===-1||s<r)&&(r=s)}if(!i)throw mg(this._lexer,`no rule containing nextEmbedded: "@pop" in tokenizer embedded state: `+t.stack.state);return r}_nestedTokenize(e,t,n,r,i){let a=this._findLeavingNestedLanguageOffset(e,n);if(a===-1){let a=i.nestedLanguageTokenize(e,t,n.embeddedLanguageData,r);return Sg.create(n.stack,new xg(n.embeddedLanguageData.languageId,a))}let o=e.substring(0,a);o.length>0&&i.nestedLanguageTokenize(o,!1,n.embeddedLanguageData,r);let s=e.substring(a);return this._myTokenize(s,t,n,r+a,i)}_safeRuleName(e){return e?e.name:`(unknown)`}_myTokenize(e,t,n,r,i){i.enterLanguage(this._languageId);let a=e.length,o=t&&this._lexer.includeLF?e+`
49
49
  `:e,s=o.length,c=n.embeddedLanguageData,l=n.stack,u=0,d=null,f=!0;for(;f||u<s;){let n=u,p=l.depth,m=d?d.groups.length:0,h=l.state,g=null,_=null,v=null,y=null,b=null;if(d){g=d.matches;let e=d.groups.shift();_=e.matched,v=e.action,y=d.rule,d.groups.length===0&&(d=null)}else{if(!f&&u>=s)break;f=!1;let e=this._lexer.tokenizer[h];if(!e&&(e=gg(this._lexer,h),!e))throw mg(this._lexer,`tokenizer state is not defined: `+h);let t=o.substr(u);for(let n of e)if((u===0||!n.matchOnlyAtLineStart)&&(g=t.match(n.resolveRegex(h)),g)){_=g[0],v=n.action;break}}if(g||(g=[``],_=``),v||=(u<s&&(g=[o.charAt(u)],_=g[0]),this._lexer.defaultToken),_===null)break;for(u+=_.length;Sse(v)&&ug(v)&&v.test;)v=v.test(_,g,h,u===s);let x=null;if(typeof v==`string`||Array.isArray(v))x=v;else if(v.group)x=v.group;else if(v.token!==null&&v.token!==void 0){if(x=v.tokenSubst?hg(this._lexer,v.token,_,g,h):v.token,v.nextEmbedded){if(v.nextEmbedded===`@pop`){if(!c)throw mg(this._lexer,`cannot pop embedded language if not inside one`);c=null}else if(c)throw mg(this._lexer,`cannot enter embedded language from within an embedded language`);else b=hg(this._lexer,v.nextEmbedded,_,g,h)}if(v.goBack&&(u=Math.max(0,u-v.goBack)),v.switchTo&&typeof v.switchTo==`string`){let e=hg(this._lexer,v.switchTo,_,g,h);if(e[0]===`@`&&(e=e.substr(1)),gg(this._lexer,e))l=l.switchTo(e);else throw mg(this._lexer,`trying to switch to a state '`+e+`' that is undefined in rule: `+this._safeRuleName(y))}else if(v.transform&&typeof v.transform==`function`)throw mg(this._lexer,`action.transform not supported`);else if(v.next){if(v.next===`@push`){if(l.depth>=this._lexer.maxStack)throw mg(this._lexer,`maximum tokenizer stack size reached: [`+l.state+`,`+l.parent.state+`,...]`);l=l.push(h)}else if(v.next===`@pop`){if(l.depth<=1)throw mg(this._lexer,`trying to pop an empty stack in rule: `+this._safeRuleName(y));l=l.pop()}else if(v.next===`@popall`)l=l.popall();else{let e=hg(this._lexer,v.next,_,g,h);if(e[0]===`@`&&(e=e.substr(1)),gg(this._lexer,e))l=l.push(e);else throw mg(this._lexer,`trying to set a next state '`+e+`' that is undefined in rule: `+this._safeRuleName(y))}}v.log&&typeof v.log==`string`&&Cse(this._lexer,this._lexer.languageId+`: `+hg(this._lexer,v.log,_,g,h))}if(x===null)throw mg(this._lexer,`lexer rule has no well-defined action in rule: `+this._safeRuleName(y));let S=n=>{let a=this._languageService.getLanguageIdByLanguageName(n)||this._languageService.getLanguageIdByMimeType(n)||n,o=this._getNestedEmbeddedLanguageData(a);if(u<s){let n=e.substr(u);return this._nestedTokenize(n,t,Sg.create(l,o),r+u,i)}return Sg.create(l,o)};if(Array.isArray(x)){if(d&&d.groups.length>0)throw mg(this._lexer,`groups cannot be nested: `+this._safeRuleName(y));if(g.length!==x.length+1)throw mg(this._lexer,`matched number of groups does not match the number of actions in rule: `+this._safeRuleName(y));let e=0;for(let t=1;t<g.length;t++)e+=g[t].length;if(e!==_.length)throw mg(this._lexer,`with groups, all characters should be matched in consecutive groups in rule: `+this._safeRuleName(y));d={rule:y,matches:g,groups:[]};for(let e=0;e<x.length;e++)d.groups[e]={action:x[e],matched:g[e+1]};u-=_.length;continue}{if(x===`@rematch`&&(u-=_.length,_=``,g=null,x=``,b!==null))return S(b);if(_.length===0){if(s===0||p!==l.depth||h!==l.state||(d?d.groups.length:0)!==m)continue;throw mg(this._lexer,`no progress in tokenizer in rule: `+this._safeRuleName(y))}let e=null;if(lg(x)&&x.indexOf(`@brackets`)===0){let t=x.substr(9),n=Ase(this._lexer,_);if(!n)throw mg(this._lexer,`@brackets token returned but no bracket defined as: `+_);e=pg(n.token+t)}else e=pg(x===``?``:x+this._lexer.tokenPostfix);n<a&&i.emit(n+r,e)}if(b!==null)return S(b)}return Sg.create(l,c)}_getNestedEmbeddedLanguageData(e){if(!this._languageService.isRegisteredLanguageId(e))return new xg(e,Vh);e!==this._languageId&&(this._languageService.requestBasicLanguageFeatures(e),ca.getOrCreate(e),this._embeddedLanguages[e]=!0);let t=ca.get(e);return t?new xg(e,t.getInitialState()):new xg(e,Vh)}};wg=_g=Ese([Dse(4,Uf)],wg);function Ase(e,t){if(!t)return null;t=fg(e,t);let n=e.brackets;for(let e of n)if(e.open===t)return{token:e.token,bracketType:1};else if(e.close===t)return{token:e.token,bracketType:-1};return null}var jse=Wh(`standaloneColorizer`,{createHTML:e=>e}),Tg=class{static colorizeElement(e,t,n,r){r||={};let i=r.theme||`vs`,a=r.mimeType||n.getAttribute(`lang`)||n.getAttribute(`data-lang`);if(!a)return console.error(`Mode not detected`),Promise.resolve();let o=t.getLanguageIdByMimeType(a)||a;e.setTheme(i);let s=n.firstChild?n.firstChild.nodeValue:``;return n.className+=` `+i,this.colorize(t,s||``,o,r).then(e=>{n.innerHTML=jse?.createHTML(e)??e},e=>console.error(e))}static async colorize(e,t,n,r){let i=e.languageIdCodec,a=4;r&&typeof r.tabSize==`number`&&(a=r.tabSize),Yo(t)&&(t=t.substr(1));let o=vo(t);if(!e.isRegisteredLanguageId(n))return Eg(o,a,i);let s=await ca.getOrCreate(n);return s?Mse(o,a,s,i):Eg(o,a,i)}static colorizeLine(e,t,n,r,i=4){let a=sg.isBasicASCII(e,t);return rg(new Qh(!1,!0,e,!1,a,sg.containsRTL(e,a,n),0,r,[],i,0,0,0,0,-1,`none`,!1,!1,null,null,0)).html}static colorizeModelLine(e,t,n=4){let r=e.getLineContent(t);e.tokenization.forceTokenization(t);let i=e.tokenization.getLineTokens(t).inflate();return this.colorizeLine(r,e.mightContainNonBasicASCII(),e.mightContainRTL(),i,n)}};function Mse(e,t,n,r){return new Promise((i,a)=>{let o=()=>{let s=Nse(e,t,n,r);if(n instanceof wg){let e=n.getLoadStatus();if(e.loaded===!1){e.promise.then(o,a);return}}i(s)};o()})}function Eg(e,t,n){let r=[],i=new Uint32Array(2);i[0]=0,i[1]=33587200;for(let a=0,o=e.length;a<o;a++){let o=e[a];i[0]=o.length;let s=new Kh(i,o,n),c=sg.isBasicASCII(o,!0),l=rg(new Qh(!1,!0,o,!1,c,sg.containsRTL(o,c,!0),0,s,[],t,0,0,0,0,-1,`none`,!1,!1,null,null,0));r=r.concat(l.html),r.push(`<br/>`)}return r.join(``)}function Nse(e,t,n,r){let i=[],a=n.getInitialState();for(let o=0,s=e.length;o<s;o++){let s=e[o],c=n.tokenizeEncoded(s,!0,a);Kh.convertToEndOffset(c.tokens,s.length);let l=new Kh(c.tokens,s,r),u=sg.isBasicASCII(s,!0),d=rg(new Qh(!1,!0,s,!1,u,sg.containsRTL(s,u,!0),0,l.inflate(),[],t,0,0,0,0,-1,`none`,!1,!1,null,null,0));i=i.concat(d.html),i.push(`<br/>`),a=c.endState}return i.join(``)}var Dg=2e4,Og,kg,Ag,jg,Mg;function Pse(e){Og=document.createElement(`div`),Og.className=`monaco-aria-container`;let t=()=>{let e=document.createElement(`div`);return e.className=`monaco-alert`,e.setAttribute(`role`,`alert`),e.setAttribute(`aria-atomic`,`true`),Og.appendChild(e),e};kg=t(),Ag=t();let n=()=>{let e=document.createElement(`div`);return e.className=`monaco-status`,e.setAttribute(`aria-live`,`polite`),e.setAttribute(`aria-atomic`,`true`),Og.appendChild(e),e};jg=n(),Mg=n(),e.appendChild(Og)}function Ng(e){Og&&(kg.textContent===e?(pl(kg),Fg(Ag,e)):(pl(Ag),Fg(kg,e)))}function Pg(e){Og&&(jg.textContent===e?(pl(jg),Fg(Mg,e)):(pl(Mg),Fg(jg,e)))}function Fg(e,t){pl(e),t.length>Dg&&(t=t.substr(0,Dg)),e.textContent=t,e.style.visibility=`hidden`,e.style.visibility=`visible`}var Ig=Eu(`editorWorkerService`),Lg=Eu(`markerDecorationsService`),Fse=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Ise=function(e,t){return function(n,r){t(n,r,e)}},Rg=class{static{this.ID=`editor.contrib.markerDecorations`}constructor(e,t){}dispose(){}};Rg=Fse([Ise(1,Lg)],Rg),Zf(Ig,Lh,0),ff(Rg.ID,Rg,0);var zg=class extends O{constructor(e,t){super(),this._onDidChange=this._register(new A),this.onDidChange=this._onDidChange.event,this._referenceDomElement=e,this._width=-1,this._height=-1,this._resizeObserver=null,this.measureReferenceDomElement(!1,t)}dispose(){this.stopObserving(),super.dispose()}getWidth(){return this._width}getHeight(){return this._height}startObserving(){if(!this._resizeObserver&&this._referenceDomElement){let e=null,t=()=>{e?this.observe({width:e.width,height:e.height}):this.observe()},n=!1,r=!1,i=()=>{if(n&&!r)try{n=!1,r=!0,t()}finally{Sl(cl(this._referenceDomElement),()=>{r=!1,i()})}};this._resizeObserver=new ResizeObserver(t=>{e=t&&t[0]&&t[0].contentRect?{width:t[0].contentRect.width,height:t[0].contentRect.height}:null,n=!0,i()}),this._resizeObserver.observe(this._referenceDomElement)}}stopObserving(){this._resizeObserver&&=(this._resizeObserver.disconnect(),null)}observe(e){this.measureReferenceDomElement(!0,e)}measureReferenceDomElement(e,t){let n=0,r=0;t?(n=t.width,r=t.height):this._referenceDomElement&&(n=this._referenceDomElement.clientWidth,r=this._referenceDomElement.clientHeight),n=Math.max(5,n),r=Math.max(5,r),(this._width!==n||this._height!==r)&&(this._width=n,this._height=r,e&&this._onDidChange.fire())}},Bg=class e{static{this.items=[]}constructor(e,t){this.key=e,this.migrate=t}apply(t){let n=e._read(t,this.key);this.migrate(n,n=>e._read(t,n),(n,r)=>e._write(t,n,r))}static _read(e,t){if(e==null)return;let n=t.indexOf(`.`);if(n>=0){let r=t.substring(0,n);return this._read(e[r],t.substring(n+1))}return e[t]}static _write(e,t,n){let r=t.indexOf(`.`);if(r>=0){let i=t.substring(0,r);e[i]=e[i]||{},this._write(e[i],t.substring(r+1),n);return}e[t]=n}};function Vg(e,t){Bg.items.push(new Bg(e,t))}function Hg(e,t){Vg(e,(n,r,i)=>{if(n!==void 0){for(let[r,a]of t)if(n===r){i(e,a);return}}})}function Lse(e){Bg.items.forEach(t=>t.apply(e))}Hg(`wordWrap`,[[!0,`on`],[!1,`off`]]),Hg(`lineNumbers`,[[!0,`on`],[!1,`off`]]),Hg(`cursorBlinking`,[[`visible`,`solid`]]),Hg(`renderWhitespace`,[[!0,`boundary`],[!1,`none`]]),Hg(`renderLineHighlight`,[[!0,`line`],[!1,`none`]]),Hg(`acceptSuggestionOnEnter`,[[!0,`on`],[!1,`off`]]),Hg(`tabCompletion`,[[!1,`off`],[!0,`onlySnippets`]]),Hg(`hover`,[[!0,{enabled:!0}],[!1,{enabled:!1}]]),Hg(`parameterHints`,[[!0,{enabled:!0}],[!1,{enabled:!1}]]),Hg(`autoIndent`,[[!1,`advanced`],[!0,`full`]]),Hg(`matchBrackets`,[[!0,`always`],[!1,`never`]]),Hg(`renderFinalNewline`,[[!0,`on`],[!1,`off`]]),Hg(`cursorSmoothCaretAnimation`,[[!0,`on`],[!1,`off`]]),Hg(`occurrencesHighlight`,[[!0,`singleFile`],[!1,`off`]]),Hg(`wordBasedSuggestions`,[[!0,`matchingDocuments`],[!1,`off`]]),Hg(`defaultColorDecorators`,[[!0,`auto`],[!1,`never`]]),Hg(`minimap.autohide`,[[!0,`mouseover`],[!1,`none`]]),Vg(`autoClosingBrackets`,(e,t,n)=>{e===!1&&(n(`autoClosingBrackets`,`never`),t(`autoClosingQuotes`)===void 0&&n(`autoClosingQuotes`,`never`),t(`autoSurround`)===void 0&&n(`autoSurround`,`never`))}),Vg(`renderIndentGuides`,(e,t,n)=>{e!==void 0&&(n(`renderIndentGuides`,void 0),t(`guides.indentation`)===void 0&&n(`guides.indentation`,!!e))}),Vg(`highlightActiveIndentGuide`,(e,t,n)=>{e!==void 0&&(n(`highlightActiveIndentGuide`,void 0),t(`guides.highlightActiveIndentation`)===void 0&&n(`guides.highlightActiveIndentation`,!!e))});var Rse={method:`showMethods`,function:`showFunctions`,constructor:`showConstructors`,deprecated:`showDeprecated`,field:`showFields`,variable:`showVariables`,class:`showClasses`,struct:`showStructs`,interface:`showInterfaces`,module:`showModules`,property:`showProperties`,event:`showEvents`,operator:`showOperators`,unit:`showUnits`,value:`showValues`,constant:`showConstants`,enum:`showEnums`,enumMember:`showEnumMembers`,keyword:`showKeywords`,text:`showWords`,color:`showColors`,file:`showFiles`,reference:`showReferences`,folder:`showFolders`,typeParameter:`showTypeParameters`,snippet:`showSnippets`};Vg(`suggest.filteredTypes`,(e,t,n)=>{if(e&&typeof e==`object`){for(let r of Object.entries(Rse))e[r[0]]===!1&&t(`suggest.${r[1]}`)===void 0&&n(`suggest.${r[1]}`,!1);n(`suggest.filteredTypes`,void 0)}}),Vg(`quickSuggestions`,(e,t,n)=>{if(typeof e==`boolean`){let t=e?`on`:`off`;n(`quickSuggestions`,{comments:t,strings:t,other:t})}}),Vg(`experimental.stickyScroll.enabled`,(e,t,n)=>{typeof e==`boolean`&&(n(`experimental.stickyScroll.enabled`,void 0),t(`stickyScroll.enabled`)===void 0&&n(`stickyScroll.enabled`,e))}),Vg(`experimental.stickyScroll.maxLineCount`,(e,t,n)=>{typeof e==`number`&&(n(`experimental.stickyScroll.maxLineCount`,void 0),t(`stickyScroll.maxLineCount`)===void 0&&n(`stickyScroll.maxLineCount`,e))}),Vg(`editor.experimentalEditContextEnabled`,(e,t,n)=>{typeof e==`boolean`&&(n(`editor.experimentalEditContextEnabled`,void 0),t(`editor.editContext`)===void 0&&n(`editor.editContext`,e))}),Vg(`codeActionsOnSave`,(e,t,n)=>{if(e&&typeof e==`object`){let t=!1,r={};for(let n of Object.entries(e))typeof n[1]==`boolean`?(t=!0,r[n[0]]=n[1]?`explicit`:`never`):r[n[0]]=n[1];t&&n(`codeActionsOnSave`,r)}}),Vg(`codeActionWidget.includeNearbyQuickfixes`,(e,t,n)=>{typeof e==`boolean`&&(n(`codeActionWidget.includeNearbyQuickfixes`,void 0),t(`codeActionWidget.includeNearbyQuickFixes`)===void 0&&n(`codeActionWidget.includeNearbyQuickFixes`,e))}),Vg(`lightbulb.enabled`,(e,t,n)=>{typeof e==`boolean`&&n(`lightbulb.enabled`,e?void 0:`off`)}),Vg(`inlineSuggest.edits.codeShifting`,(e,t,n)=>{typeof e==`boolean`&&(n(`inlineSuggest.edits.codeShifting`,void 0),n(`inlineSuggest.edits.allowCodeShifting`,e?`always`:`never`))}),Vg(`hover.enabled`,(e,t,n)=>{typeof e==`boolean`&&n(`hover.enabled`,e?`on`:`off`)});var Ug=new class extends O{constructor(){super(...arguments),this._tabFocus=!1,this._onDidChangeTabFocus=this._register(new A),this.onDidChangeTabFocus=this._onDidChangeTabFocus.event}getTabFocusMode(){return this._tabFocus}setTabFocusMode(e){this._tabFocus=e,this._onDidChangeTabFocus.fire(this._tabFocus)}};function zse(e,t,n){let r=e.get(58),i=e.get(62),a=e.get(61),o=e.get(60),s=e.get(63),c=e.get(75),l=e.get(72);return fr._create(r,i,a,o,s,c,l,t,n)}function Bse(e,t,n=!1){let r=Xr.fontFamily.validate(e.fontFamily),i=Xr.fontWeight.validate(e.fontWeight),a=Xr.fontSize.validate(e.fontSize),o=Xr.fontLigatures2.validate(e.fontLigatures),s=Xr.fontVariations.validate(e.fontVariations),c=Xr.lineHeight.validate(e.lineHeight),l=Xr.letterSpacing.validate(e.letterSpacing);return fr._create(r,i,a,o,s,c,l,t,n)}var Wg=Eu(`accessibilityService`),Gg=new U(`accessibilityModeEnabled`,!1),Kg=new class{constructor(){this._inputMode=`insert`,this._onDidChangeInputMode=new A,this.onDidChangeInputMode=this._onDidChangeInputMode.event}getInputMode(){return this._inputMode}},Vse=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Hse=function(e,t){return function(n,r){t(n,r,e)}},qg=class extends O{constructor(e,t,n,r,i){super(),this._accessibilityService=i,this._onDidChange=this._register(new A),this.onDidChange=this._onDidChange.event,this._onDidChangeFast=this._register(new A),this.onDidChangeFast=this._onDidChangeFast.event,this._isDominatedByLongLines=!1,this._viewLineCount=1,this._lineNumbersDigitCount=1,this._reservedHeight=0,this._glyphMarginDecorationLaneCount=1,this._computeOptionsMemory=new Cr,this.isSimpleWidget=e,this.contextMenuId=t,this._containerObserver=this._register(new zg(r,n.dimension)),this._targetWindowId=cl(r).vscodeWindowId,this._rawOptions=Yg(n),this._validatedOptions=Jg.validateOptions(this._rawOptions),this.options=this._computeOptions(),this.options.get(19)&&this._containerObserver.startObserving(),this._register(dr.onDidChangeZoomLevel(()=>this._recomputeOptions())),this._register(Ug.onDidChangeTabFocus(()=>this._recomputeOptions())),this._register(this._containerObserver.onDidChange(()=>this._recomputeOptions())),this._register(Cu.onDidChange(()=>this._recomputeOptions())),this._register(vu.getInstance(cl(r)).onDidChange(()=>this._recomputeOptions())),this._register(this._accessibilityService.onDidChangeScreenReaderOptimized(()=>this._recomputeOptions())),this._register(Kg.onDidChangeInputMode(()=>this._recomputeOptions()))}_recomputeOptions(){let e=this._computeOptions(),t=Jg.checkEquals(this.options,e);t!==null&&(this.options=e,this._onDidChangeFast.fire(t),this._onDidChange.fire(t))}_computeOptions(){let e=this._readEnvConfiguration(),t=zse(this._validatedOptions,e.pixelRatio,this.isSimpleWidget),n=this._readFontInfo(t),r={memory:this._computeOptionsMemory,outerWidth:e.outerWidth,outerHeight:e.outerHeight-this._reservedHeight,fontInfo:n,extraEditorClassName:e.extraEditorClassName,isDominatedByLongLines:this._isDominatedByLongLines,viewLineCount:this._viewLineCount,lineNumbersDigitCount:this._lineNumbersDigitCount,emptySelectionClipboard:e.emptySelectionClipboard,pixelRatio:e.pixelRatio,tabFocusMode:this._validatedOptions.get(164)||Ug.getTabFocusMode(),inputMode:Kg.getInputMode(),accessibilitySupport:e.accessibilitySupport,glyphMarginDecorationLaneCount:this._glyphMarginDecorationLaneCount,editContextSupported:e.editContextSupported};return Jg.computeOptions(this._validatedOptions,r)}_readEnvConfiguration(){return{extraEditorClassName:Wse(),outerWidth:this._containerObserver.getWidth(),outerHeight:this._containerObserver.getHeight(),emptySelectionClipboard:as||is,pixelRatio:vu.getInstance(dl(this._targetWindowId,!0).window).value,editContextSupported:typeof globalThis.EditContext==`function`,accessibilitySupport:this._accessibilityService.isScreenReaderOptimized()?2:this._accessibilityService.getAccessibilitySupport()}}_readFontInfo(e){return Cu.readFontInfo(dl(this._targetWindowId,!0).window,e)}getRawOptions(){return this._rawOptions}updateOptions(e){let t=Yg(e);Jg.applyUpdate(this._rawOptions,t)&&(this._validatedOptions=Jg.validateOptions(this._rawOptions),this._recomputeOptions())}observeContainer(e){this._containerObserver.observe(e)}setIsDominatedByLongLines(e){this._isDominatedByLongLines!==e&&(this._isDominatedByLongLines=e,this._recomputeOptions())}setModelLineCount(e){let t=Use(e);this._lineNumbersDigitCount!==t&&(this._lineNumbersDigitCount=t,this._recomputeOptions())}setViewLineCount(e){this._viewLineCount!==e&&(this._viewLineCount=e,this._recomputeOptions())}setReservedHeight(e){this._reservedHeight!==e&&(this._reservedHeight=e,this._recomputeOptions())}setGlyphMarginDecorationLaneCount(e){this._glyphMarginDecorationLaneCount!==e&&(this._glyphMarginDecorationLaneCount=e,this._recomputeOptions())}};qg=Vse([Hse(4,Wg)],qg);function Use(e){let t=0;for(;e;)e=Math.floor(e/10),t++;return t||1}function Wse(){let e=``;return ss||cs?(e+=`no-minimap-shadow `,e+=`enable-user-select `):e+=`no-user-select `,Cn&&(e+=`mac `),e}var Gse=class{constructor(){this._values=[]}_read(e){return this._values[e]}get(e){return this._values[e]}_write(e,t){this._values[e]=t}},Kse=class{constructor(){this._values=[]}_read(e){if(e>=this._values.length)throw Error(`Cannot read uninitialized value`);return this._values[e]}get(e){return this._read(e)}_write(e,t){this._values[e]=t}},Jg=class e{static validateOptions(e){let t=new Gse;for(let n of Yr){let r=n.name===`_never_`?void 0:e[n.name];t._write(n.id,n.validate(r))}return t}static computeOptions(e,t){let n=new Kse;for(let r of Yr)n._write(r.id,r.compute(t,n,e._read(r.id)));return n}static _deepEquals(t,n){if(typeof t!=`object`||typeof n!=`object`||!t||!n)return t===n;if(Array.isArray(t)||Array.isArray(n))return Array.isArray(t)&&Array.isArray(n)?Ue(t,n):!1;if(Object.keys(t).length!==Object.keys(n).length)return!1;for(let r in t)if(!e._deepEquals(t[r],n[r]))return!1;return!0}static checkEquals(t,n){let r=[],i=!1;for(let a of Yr){let o=!e._deepEquals(t._read(a.id),n._read(a.id));r[a.id]=o,o&&(i=!0)}return i?new Sr(r):null}static applyUpdate(e,t){let n=!1;for(let r of Yr)if(t.hasOwnProperty(r.name)){let i=r.applyUpdate(e[r.name],t[r.name]);e[r.name]=i.newValue,n||=i.didChange}return n}};function Yg(e){let t=$t(e);return Lse(t),t}var Xg;(function(e){let t={total:0,min:Number.MAX_VALUE,max:0},n={...t},r={...t},i={...t},a=0;e.sampleCount=Gc(`inputLatency.sampleCount`,0);let o={keydown:0,input:0,render:0};function s(){_(),performance.mark(`inputlatency/start`),performance.mark(`keydown/start`),o.keydown=1,queueMicrotask(c)}e.onKeyDown=s;function c(){o.keydown===1&&(performance.mark(`keydown/end`),o.keydown=2)}function l(){performance.mark(`input/start`),o.input=1,g()}e.onBeforeInput=l;function u(){o.input===0&&l(),queueMicrotask(d)}e.onInput=u;function d(){o.input===1&&(performance.mark(`input/end`),o.input=2)}function f(){_()}e.onKeyUp=f;function p(){_()}e.onSelectionChange=p;function m(){o.keydown===2&&o.input===2&&o.render===0&&(performance.mark(`render/start`),o.render=1,queueMicrotask(h),g())}e.onRenderStart=m;function h(){o.render===1&&(performance.mark(`render/end`),o.render=2)}function g(){setTimeout(_)}function _(){o.keydown===2&&o.input===2&&o.render===2&&(performance.mark(`inputlatency/end`),performance.measure(`keydown`,`keydown/start`,`keydown/end`),performance.measure(`input`,`input/start`,`input/end`),performance.measure(`render`,`render/start`,`render/end`),performance.measure(`inputlatency`,`inputlatency/start`,`inputlatency/end`),v(`keydown`,t),v(`input`,n),v(`render`,r),v(`inputlatency`,i),a++,e.sampleCount.set(e.sampleCount.get()+1,void 0),y())}function v(e,t){let n=performance.getEntriesByName(e)[0].duration;t.total+=n,t.min=Math.min(t.min,n),t.max=Math.max(t.max,n)}function y(){performance.clearMarks(`keydown/start`),performance.clearMarks(`keydown/end`),performance.clearMarks(`input/start`),performance.clearMarks(`input/end`),performance.clearMarks(`render/start`),performance.clearMarks(`render/end`),performance.clearMarks(`inputlatency/start`),performance.clearMarks(`inputlatency/end`),performance.clearMeasures(`keydown`),performance.clearMeasures(`input`),performance.clearMeasures(`render`),performance.clearMeasures(`inputlatency`),o.keydown=0,o.input=0,o.render=0}function b(){if(a===0)return;let e={keydown:x(t),input:x(n),render:x(r),total:x(i),sampleCount:a};return S(t),S(n),S(r),S(i),a=0,e}e.getAndClearMeasurements=b;function x(e){return{average:e.total/a,max:e.max,min:e.min}}function S(e){e.total=0,e.min=Number.MAX_VALUE,e.max=0}})(Xg||={});var Zg=new Map,qse=class extends O{constructor(){super(...arguments),this._currentCssStyle=``,this._styleSheet=void 0}setStyle(e){e!==this._currentCssStyle&&(this._currentCssStyle=e,this._styleSheet?this._styleSheet.textContent=e:this._styleSheet=Qg(io.document.head,t=>t.textContent=e,this._store))}dispose(){super.dispose(),this._styleSheet=void 0}};function Qg(e=io.document.head,t,n){let r=document.createElement(`style`);if(r.type=`text/css`,r.media=`screen`,t?.(r),e.appendChild(r),n&&n.add(E(()=>r.remove())),e===io.document.head){let e=new Set;Zg.set(r,e),n&&n.add(E(()=>Zg.delete(r)));for(let{window:t,disposables:i}of ll()){if(t===io)continue;let a=i.add(Jse(r,e,t));n?.add(a)}}return r}function Jse(e,t,n){let r=new D,i=e.cloneNode(!0);n.document.head.appendChild(i),r.add(E(()=>i.remove()));for(let t of e.sheet?.cssRules??[])i.sheet?.insertRule(t.cssText,i.sheet?.cssRules.length);return r.add(Fre.observe(e,r,{childList:!0,subtree:is,characterData:is})(()=>{i.textContent=e.textContent})),t.add(i),r.add(E(()=>t.delete(i))),r}var $g=null;function e_(){return $g||=Qg(),$g}function t_(e,t,n=e_()){if(n&&t){n.sheet?.insertRule(`${e} {${t}}`,0);for(let r of Zg.get(n)??[])t_(e,t,r)}}function n_(e,t=e_()){if(!t)return;let n=t.sheet?.cssRules??[],r=[];for(let t=0;t<n.length;t++){let i=n[t];Yse(i)&&i.selectorText.indexOf(e)!==-1&&r.push(t)}for(let e=r.length-1;e>=0;e--)t.sheet?.deleteRule(r[e]);for(let n of Zg.get(t)??[])n_(e,n)}function Yse(e){return typeof e.selectorText==`string`}function Xse(e){let t=new D,n=t.add(new qse);return t.add(Fc(t=>{n.setStyle(e.read(t))})),t}var r_=class{constructor(){this._hooks=new D,this._pointerMoveCallback=null,this._onStopCallback=null}dispose(){this.stopMonitoring(!1),this._hooks.dispose()}stopMonitoring(e,t){if(!this.isMonitoring())return;this._hooks.clear(),this._pointerMoveCallback=null;let n=this._onStopCallback;this._onStopCallback=null,e&&n&&n(t)}isMonitoring(){return!!this._pointerMoveCallback}startMonitoring(e,t,n,r,i){this.isMonitoring()&&this.stopMonitoring(!1),this._pointerMoveCallback=r,this._onStopCallback=i;let a=e;try{e.setPointerCapture(t),this._hooks.add(E(()=>{try{e.releasePointerCapture(t)}catch{}}))}catch{a=cl(e)}this._hooks.add(R(a,z.POINTER_MOVE,e=>{if(e.buttons!==n){this.stopMonitoring(!0);return}e.preventDefault(),this._pointerMoveCallback(e)})),this._hooks.add(R(a,z.POINTER_UP,e=>this.stopMonitoring(!0)))}};function i_(e){return`--vscode-${e.replace(/\./g,`-`)}`}function Y(e){return`var(${i_(e)})`}function a_(e,t){return`var(${i_(e)}, ${t})`}function Zse(e){return typeof e==`object`&&!!e&&`light`in e&&`dark`in e}var o_={ColorContribution:`base.contributions.colors`},Qse=`default`,s_=new class extends O{constructor(){super(),this._onDidChangeSchema=this._register(new A),this.onDidChangeSchema=this._onDidChangeSchema.event,this.colorSchema={type:`object`,properties:{}},this.colorReferenceSchema={type:`string`,enum:[],enumDescriptions:[]},this.colorsById={}}registerColor(e,t,n,r=!1,i){let a={id:e,description:n,defaults:t,needsTransparency:r,deprecationMessage:i};this.colorsById[e]=a;let o={type:`string`,format:`color-hex`,defaultSnippets:[{body:"${1:#ff0000}"}]};return i&&(o.deprecationMessage=i),r&&(o.pattern=`^#(?:(?<rgba>[0-9a-fA-f]{3}[0-9a-eA-E])|(?:[0-9a-fA-F]{6}(?:(?![fF]{2})(?:[0-9a-fA-F]{2}))))?$`,o.patternErrorMessage=w(2091,`This color must be transparent or it will obscure content`)),this.colorSchema.properties[e]={description:n,oneOf:[o,{type:`string`,const:Qse,description:w(2092,`Use the default color.`)}]},this.colorReferenceSchema.enum.push(e),this.colorReferenceSchema.enumDescriptions.push(n),this._onDidChangeSchema.fire(),e}getColors(){return Object.keys(this.colorsById).map(e=>this.colorsById[e])}resolveDefaultColor(e,t){let n=this.colorsById[e];if(n?.defaults)return p_(Zse(n.defaults)?n.defaults[t.type]:n.defaults,t)}getColorSchema(){return this.colorSchema}toString(){return Object.keys(this.colorsById).sort((e,t)=>{let n=e.indexOf(`.`)===-1?0:1,r=t.indexOf(`.`)===-1?0:1;return n===r?e.localeCompare(t):n-r}).map(e=>`- \`${e}\`: ${this.colorsById[e].description}`).join(`
50
50
  `)}};pd.add(o_.ColorContribution,s_);function X(e,t,n,r,i){return s_.registerColor(e,t,n,r,i)}function $se(e,t){switch(e.op){case 0:return p_(e.value,t)?.darken(e.factor);case 1:return p_(e.value,t)?.lighten(e.factor);case 2:return p_(e.value,t)?.transparent(e.factor);case 7:{let n=p_(e.color,t)||J.transparent,r=p_(e.with,t)||J.transparent;return n.mix(r,e.ratio)}case 3:{let n=p_(e.background,t);return n?p_(e.value,t)?.makeOpaque(n):p_(e.value,t)}case 4:for(let n of e.values){let e=p_(n,t);if(e)return e}return;case 6:return p_(t.defines(e.if)?e.then:e.else,t);case 5:{let n=p_(e.value,t);if(!n)return;let r=p_(e.background,t);return r?n.isDarkerThan(r)?J.getLighterColor(n,r,e.factor).transparent(e.transparency):J.getDarkerColor(n,r,e.factor).transparent(e.transparency):n.transparent(e.factor*e.transparency)}default:throw Lt()}}function c_(e,t){return{op:0,value:e,factor:t}}function l_(e,t){return{op:1,value:e,factor:t}}function u_(e,t){return{op:2,value:e,factor:t}}function d_(...e){return{op:4,values:e}}function ece(e,t,n){return{op:6,if:e,then:t,else:n}}function f_(e,t,n,r){return{op:5,value:e,background:t,factor:n,transparency:r}}function p_(e,t){if(e!==null){if(typeof e==`string`)return e[0]===`#`?J.fromHex(e):t.getColor(e);if(e instanceof J)return e;if(typeof e==`object`)return $se(e,t)}}var m_=`vscode://schemas/workbench-colors`,h_=pd.as(ep.JSONContribution);h_.registerSchema(m_,s_.getColorSchema());var g_=new Ns(()=>h_.notifySchemaChanged(m_),200);s_.onDidChangeSchema(()=>{g_.isScheduled()||g_.schedule()});var __=X(`foreground`,{dark:`#CCCCCC`,light:`#616161`,hcDark:`#FFFFFF`,hcLight:`#292929`},w(1838,`Overall foreground color. This color is only used if not overridden by a component.`));X(`strongForeground`,{dark:`#FFFFFF`,light:`#000000`,hcDark:`#FFFFFF`,hcLight:`#000000`},w(1839,`Highest-contrast foreground color, intended for text or icons that need maximum legibility across various backgrounds. This color is only used if not overridden by a component.`)),X(`disabledForeground`,{dark:`#CCCCCC80`,light:`#61616180`,hcDark:`#A5A5A5`,hcLight:`#7F7F7F`},w(1840,`Overall foreground for disabled elements. This color is only used if not overridden by a component.`)),X(`errorForeground`,{dark:`#F48771`,light:`#A1260D`,hcDark:`#F48771`,hcLight:`#B5200D`},w(1841,`Overall foreground color for error messages. This color is only used if not overridden by a component.`));var v_=X(`descriptionForeground`,{light:`#717171`,dark:u_(__,.7),hcDark:u_(__,.7),hcLight:u_(__,.7)},w(1842,`Foreground color for description text providing additional information, for example for a label.`)),y_=X(`icon.foreground`,{dark:`#C5C5C5`,light:`#424242`,hcDark:`#FFFFFF`,hcLight:`#292929`},w(1843,`The default color for icons in the workbench.`)),b_=X(`focusBorder`,{dark:`#007FD4`,light:`#0090F1`,hcDark:`#F38518`,hcLight:`#006BBD`},w(1844,`Overall border color for focused elements. This color is only used if not overridden by a component.`)),x_=X(`contrastBorder`,{light:null,dark:null,hcDark:`#6FC3DF`,hcLight:`#0F4A85`},w(1845,`An extra border around elements to separate them from others for greater contrast.`)),S_=X(`contrastActiveBorder`,{light:null,dark:null,hcDark:b_,hcLight:b_},w(1846,`An extra border around active elements to separate them from others for greater contrast.`));X(`selection.background`,null,w(1847,`The background color of text selections in the workbench (e.g. for input fields or text areas). Note that this does not apply to selections within the editor.`));var tce=X(`textLink.foreground`,{light:`#006AB1`,dark:`#3794FF`,hcDark:`#21A6FF`,hcLight:`#0F4A85`},w(1848,`Foreground color for links in text.`));X(`textLink.activeForeground`,{light:`#006AB1`,dark:`#3794FF`,hcDark:`#21A6FF`,hcLight:`#0F4A85`},w(1849,`Foreground color for links in text when clicked on and on mouse hover.`)),X(`textSeparator.foreground`,{light:`#0000002e`,dark:`#ffffff2e`,hcDark:J.black,hcLight:`#292929`},w(1850,`Color for text separators.`)),X(`textPreformat.foreground`,{light:`#A31515`,dark:`#D7BA7D`,hcDark:`#FFFFFF`,hcLight:`#FFFFFF`},w(1851,`Foreground color for preformatted text segments.`)),X(`textPreformat.background`,{light:`#0000001A`,dark:`#FFFFFF1A`,hcDark:null,hcLight:`#09345f`},w(1852,`Background color for preformatted text segments.`)),X(`textPreformat.border`,{light:null,dark:null,hcDark:x_,hcLight:null},w(1853,`Border color for preformatted text segments.`)),X(`textBlockQuote.background`,{light:`#f2f2f2`,dark:`#222222`,hcDark:null,hcLight:`#F2F2F2`},w(1854,`Background color for block quotes in text.`)),X(`textBlockQuote.border`,{light:`#007acc80`,dark:`#007acc80`,hcDark:J.white,hcLight:`#292929`},w(1855,`Border color for block quotes in text.`)),X(`textCodeBlock.background`,{light:`#dcdcdc66`,dark:`#0a0a0a66`,hcDark:J.black,hcLight:`#F2F2F2`},w(1856,`Background color for code blocks in text.`)),X(`sash.hoverBorder`,b_,w(2062,`Border color of active sashes.`));var C_=X(`badge.background`,{dark:`#4D4D4D`,light:`#C4C4C4`,hcDark:J.black,hcLight:`#0F4A85`},w(2063,`Badge background color. Badges are small information labels, e.g. for search results count.`)),nce=X(`badge.foreground`,{dark:J.white,light:`#333`,hcDark:J.white,hcLight:J.white},w(2064,`Badge foreground color. Badges are small information labels, e.g. for search results count.`));X(`activityWarningBadge.foreground`,{dark:J.white,light:J.white,hcDark:J.white,hcLight:J.white},w(2065,`Foreground color of the warning activity badge`)),X(`activityWarningBadge.background`,{dark:`#B27C00`,light:`#B27C00`,hcDark:null,hcLight:`#B27C00`},w(2066,`Background color of the warning activity badge`)),X(`activityErrorBadge.foreground`,{dark:J.black.lighten(.2),light:J.white,hcDark:null,hcLight:J.black.lighten(.2)},w(2067,`Foreground color of the error activity badge`)),X(`activityErrorBadge.background`,{dark:`#F14C4C`,light:`#E51400`,hcDark:null,hcLight:`#F14C4C`},w(2068,`Background color of the error activity badge`));var w_=X(`scrollbar.shadow`,{dark:`#000000`,light:`#DDDDDD`,hcDark:null,hcLight:null},w(2069,`Scrollbar shadow to indicate that the view is scrolled.`)),T_=X(`scrollbarSlider.background`,{dark:J.fromHex(`#797979`).transparent(.4),light:J.fromHex(`#646464`).transparent(.4),hcDark:u_(x_,.6),hcLight:u_(x_,.4)},w(2070,`Scrollbar slider background color.`)),E_=X(`scrollbarSlider.hoverBackground`,{dark:J.fromHex(`#646464`).transparent(.7),light:J.fromHex(`#646464`).transparent(.7),hcDark:u_(x_,.8),hcLight:u_(x_,.8)},w(2071,`Scrollbar slider background color when hovering.`)),D_=X(`scrollbarSlider.activeBackground`,{dark:J.fromHex(`#BFBFBF`).transparent(.4),light:J.fromHex(`#000000`).transparent(.6),hcDark:x_,hcLight:x_},w(2072,`Scrollbar slider background color when clicked on.`));X(`scrollbar.background`,null,w(2073,`Scrollbar track background color.`));var rce=X(`progressBar.background`,{dark:J.fromHex(`#0E70C0`),light:J.fromHex(`#0E70C0`),hcDark:x_,hcLight:x_},w(2074,`Background color of the progress bar that can show for long running operations.`));X(`chart.line`,{dark:`#236B8E`,light:`#236B8E`,hcDark:`#236B8E`,hcLight:`#236B8E`},w(2075,`Line color for the chart.`)),X(`chart.axis`,{dark:J.fromHex(`#BFBFBF`).transparent(.4),light:J.fromHex(`#000000`).transparent(.6),hcDark:x_,hcLight:x_},w(2076,`Axis color for the chart.`)),X(`chart.guide`,{dark:J.fromHex(`#BFBFBF`).transparent(.2),light:J.fromHex(`#000000`).transparent(.2),hcDark:x_,hcLight:x_},w(2077,`Guide line for the chart.`));var O_=X(`editor.background`,{light:`#ffffff`,dark:`#1E1E1E`,hcDark:J.black,hcLight:J.white},w(1865,`Editor background color.`)),k_=X(`editor.foreground`,{light:`#333333`,dark:`#BBBBBB`,hcDark:J.white,hcLight:__},w(1866,`Editor default foreground color.`));X(`editorStickyScroll.background`,O_,w(1867,`Background color of sticky scroll in the editor`)),X(`editorStickyScrollGutter.background`,O_,w(1868,`Background color of the gutter part of sticky scroll in the editor`)),X(`editorStickyScrollHover.background`,{dark:`#2A2D2E`,light:`#F0F0F0`,hcDark:null,hcLight:J.fromHex(`#0F4A85`).transparent(.1)},w(1869,`Background color of sticky scroll on hover in the editor`)),X(`editorStickyScroll.border`,{dark:null,light:null,hcDark:x_,hcLight:x_},w(1870,`Border color of sticky scroll in the editor`)),X(`editorStickyScroll.shadow`,w_,w(1871,` Shadow color of sticky scroll in the editor`));var A_=X(`editorWidget.background`,{dark:`#252526`,light:`#F3F3F3`,hcDark:`#0C141F`,hcLight:J.white},w(1872,`Background color of editor widgets, such as find/replace.`)),j_=X(`editorWidget.foreground`,__,w(1873,`Foreground color of editor widgets, such as find/replace.`)),M_=X(`editorWidget.border`,{dark:u_(j_,.2),light:u_(j_,.2),hcDark:x_,hcLight:x_},w(1874,`Border color of editor widgets. The color is only used if the widget chooses to have a border and if the color is not overridden by a widget.`));X(`editorWidget.resizeBorder`,null,w(1875,`Border color of the resize bar of editor widgets. The color is only used if the widget chooses to have a resize border and if the color is not overridden by a widget.`)),X(`editorError.background`,null,w(1876,`Background color of error text in the editor. The color must not be opaque so as not to hide underlying decorations.`),!0);var N_=X(`editorError.foreground`,{dark:`#F14C4C`,light:`#E51400`,hcDark:`#F48771`,hcLight:`#B5200D`},w(1877,`Foreground color of error squigglies in the editor.`)),ice=X(`editorError.border`,{dark:null,light:null,hcDark:J.fromHex(`#E47777`).transparent(.8),hcLight:`#B5200D`},w(1878,`If set, color of double underlines for errors in the editor.`)),ace=X(`editorWarning.background`,null,w(1879,`Background color of warning text in the editor. The color must not be opaque so as not to hide underlying decorations.`),!0),P_=X(`editorWarning.foreground`,{dark:`#CCA700`,light:`#BF8803`,hcDark:`#FFD370`,hcLight:`#895503`},w(1880,`Foreground color of warning squigglies in the editor.`)),F_=X(`editorWarning.border`,{dark:null,light:null,hcDark:J.fromHex(`#FFCC00`).transparent(.8),hcLight:J.fromHex(`#FFCC00`).transparent(.8)},w(1881,`If set, color of double underlines for warnings in the editor.`));X(`editorInfo.background`,null,w(1882,`Background color of info text in the editor. The color must not be opaque so as not to hide underlying decorations.`),!0);var I_=X(`editorInfo.foreground`,{dark:`#59a4f9`,light:`#0063d3`,hcDark:`#59a4f9`,hcLight:`#0063d3`},w(1883,`Foreground color of info squigglies in the editor.`)),L_=X(`editorInfo.border`,{dark:null,light:null,hcDark:J.fromHex(`#59a4f9`).transparent(.8),hcLight:`#292929`},w(1884,`If set, color of double underlines for infos in the editor.`)),oce=X(`editorHint.foreground`,{dark:J.fromHex(`#eeeeee`).transparent(.7),light:`#6c6c6c`,hcDark:null,hcLight:null},w(1885,`Foreground color of hint squigglies in the editor.`));X(`editorHint.border`,{dark:null,light:null,hcDark:J.fromHex(`#eeeeee`).transparent(.8),hcLight:`#292929`},w(1886,`If set, color of double underlines for hints in the editor.`));var sce=X(`editorLink.activeForeground`,{dark:`#4E94CE`,light:J.blue,hcDark:J.cyan,hcLight:`#292929`},w(1887,`Color of active links.`)),R_=X(`editor.selectionBackground`,{light:`#ADD6FF`,dark:`#264F78`,hcDark:`#f3f518`,hcLight:`#0F4A85`},w(1888,`Color of the editor selection.`)),cce=X(`editor.selectionForeground`,{light:null,dark:null,hcDark:`#000000`,hcLight:J.white},w(1889,`Color of the selected text for high contrast.`)),z_=X(`editor.inactiveSelectionBackground`,{light:u_(R_,.5),dark:u_(R_,.5),hcDark:u_(R_,.7),hcLight:u_(R_,.5)},w(1890,`Color of the selection in an inactive editor. The color must not be opaque so as not to hide underlying decorations.`),!0),B_=X(`editor.selectionHighlightBackground`,{light:f_(R_,O_,.3,.6),dark:f_(R_,O_,.3,.6),hcDark:null,hcLight:null},w(1891,`Color for regions with the same content as the selection. The color must not be opaque so as not to hide underlying decorations.`),!0);X(`editor.selectionHighlightBorder`,{light:null,dark:null,hcDark:S_,hcLight:S_},w(1892,`Border color for regions with the same content as the selection.`)),X(`editor.compositionBorder`,{light:`#000000`,dark:`#ffffff`,hcLight:`#000000`,hcDark:`#ffffff`},w(1893,`The border color for an IME composition.`)),X(`editor.findMatchBackground`,{light:`#A8AC94`,dark:`#515C6A`,hcDark:null,hcLight:null},w(1894,`Color of the current search match.`));var lce=X(`editor.findMatchForeground`,null,w(1895,`Text color of the current search match.`)),V_=X(`editor.findMatchHighlightBackground`,{light:`#EA5C0055`,dark:`#EA5C0055`,hcDark:null,hcLight:null},w(1896,`Color of the other search matches. The color must not be opaque so as not to hide underlying decorations.`),!0),H_=X(`editor.findMatchHighlightForeground`,null,w(1897,`Foreground color of the other search matches.`),!0);X(`editor.findRangeHighlightBackground`,{dark:`#3a3d4166`,light:`#b4b4b44d`,hcDark:null,hcLight:null},w(1898,`Color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations.`),!0),X(`editor.findMatchBorder`,{light:null,dark:null,hcDark:S_,hcLight:S_},w(1899,`Border color of the current search match.`));var U_=X(`editor.findMatchHighlightBorder`,{light:null,dark:null,hcDark:S_,hcLight:S_},w(1900,`Border color of the other search matches.`)),W_=X(`editor.findRangeHighlightBorder`,{dark:null,light:null,hcDark:u_(S_,.4),hcLight:u_(S_,.4)},w(1901,`Border color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations.`),!0);X(`editor.hoverHighlightBackground`,{light:`#ADD6FF26`,dark:`#264f7840`,hcDark:`#ADD6FF26`,hcLight:null},w(1902,`Highlight below the word for which a hover is shown. The color must not be opaque so as not to hide underlying decorations.`),!0);var G_=X(`editorHoverWidget.background`,A_,w(1903,`Background color of the editor hover.`)),K_=X(`editorHoverWidget.foreground`,j_,w(1904,`Foreground color of the editor hover.`)),q_=X(`editorHoverWidget.border`,M_,w(1905,`Border color of the editor hover.`));X(`editorHoverWidget.statusBarBackground`,{dark:l_(G_,.2),light:c_(G_,.05),hcDark:A_,hcLight:A_},w(1906,`Background color of the editor hover status bar.`));var J_=X(`editorInlayHint.foreground`,{dark:`#969696`,light:`#969696`,hcDark:J.white,hcLight:J.black},w(1907,`Foreground color of inline hints`)),Y_=X(`editorInlayHint.background`,{dark:u_(C_,.1),light:u_(C_,.1),hcDark:u_(J.white,.1),hcLight:u_(C_,.1)},w(1908,`Background color of inline hints`)),uce=X(`editorInlayHint.typeForeground`,J_,w(1909,`Foreground color of inline hints for types`)),dce=X(`editorInlayHint.typeBackground`,Y_,w(1910,`Background color of inline hints for types`)),fce=X(`editorInlayHint.parameterForeground`,J_,w(1911,`Foreground color of inline hints for parameters`)),pce=X(`editorInlayHint.parameterBackground`,Y_,w(1912,`Background color of inline hints for parameters`)),mce=X(`editorLightBulb.foreground`,{dark:`#FFCC00`,light:`#DDB100`,hcDark:`#FFCC00`,hcLight:`#007ACC`},w(1913,`The color used for the lightbulb actions icon.`));X(`editorLightBulbAutoFix.foreground`,{dark:`#75BEFF`,light:`#007ACC`,hcDark:`#75BEFF`,hcLight:`#007ACC`},w(1914,`The color used for the lightbulb auto fix actions icon.`)),X(`editorLightBulbAi.foreground`,mce,w(1915,`The color used for the lightbulb AI icon.`)),X(`editor.snippetTabstopHighlightBackground`,{dark:new J(new q(124,124,124,.3)),light:new J(new q(10,50,100,.2)),hcDark:new J(new q(124,124,124,.3)),hcLight:new J(new q(10,50,100,.2))},w(1916,`Highlight background color of a snippet tabstop.`)),X(`editor.snippetTabstopHighlightBorder`,null,w(1917,`Highlight border color of a snippet tabstop.`)),X(`editor.snippetFinalTabstopHighlightBackground`,null,w(1918,`Highlight background color of the final tabstop of a snippet.`)),X(`editor.snippetFinalTabstopHighlightBorder`,{dark:`#525252`,light:new J(new q(10,50,100,.5)),hcDark:`#525252`,hcLight:`#292929`},w(1919,`Highlight border color of the final tabstop of a snippet.`));var X_=new J(new q(155,185,85,.2)),Z_=new J(new q(255,0,0,.2)),Q_=X(`diffEditor.insertedTextBackground`,{dark:`#9ccc2c33`,light:`#9ccc2c40`,hcDark:null,hcLight:null},w(1920,`Background color for text that got inserted. The color must not be opaque so as not to hide underlying decorations.`),!0),$_=X(`diffEditor.removedTextBackground`,{dark:`#ff000033`,light:`#ff000033`,hcDark:null,hcLight:null},w(1921,`Background color for text that got removed. The color must not be opaque so as not to hide underlying decorations.`),!0),ev=X(`diffEditor.insertedLineBackground`,{dark:X_,light:X_,hcDark:null,hcLight:null},w(1922,`Background color for lines that got inserted. The color must not be opaque so as not to hide underlying decorations.`),!0);X(`diffEditor.removedLineBackground`,{dark:Z_,light:Z_,hcDark:null,hcLight:null},w(1923,`Background color for lines that got removed. The color must not be opaque so as not to hide underlying decorations.`),!0),X(`diffEditorGutter.insertedLineBackground`,null,w(1924,`Background color for the margin where lines got inserted.`)),X(`diffEditorGutter.removedLineBackground`,null,w(1925,`Background color for the margin where lines got removed.`));var hce=X(`diffEditorOverview.insertedForeground`,null,w(1926,`Diff overview ruler foreground for inserted content.`)),gce=X(`diffEditorOverview.removedForeground`,null,w(1927,`Diff overview ruler foreground for removed content.`));X(`diffEditor.insertedTextBorder`,{dark:null,light:null,hcDark:`#33ff2eff`,hcLight:`#374E06`},w(1928,`Outline color for the text that got inserted.`)),X(`diffEditor.removedTextBorder`,{dark:null,light:null,hcDark:`#FF008F`,hcLight:`#AD0707`},w(1929,`Outline color for text that got removed.`)),X(`diffEditor.border`,{dark:null,light:null,hcDark:x_,hcLight:x_},w(1930,`Border color between the two text editors.`)),X(`diffEditor.diagonalFill`,{dark:`#cccccc33`,light:`#22222233`,hcDark:null,hcLight:null},w(1931,`Color of the diff editor's diagonal fill. The diagonal fill is used in side-by-side diff views.`)),X(`diffEditor.unchangedRegionBackground`,`sideBar.background`,w(1932,`The background color of unchanged blocks in the diff editor.`)),X(`diffEditor.unchangedRegionForeground`,`foreground`,w(1933,`The foreground color of unchanged blocks in the diff editor.`)),X(`diffEditor.unchangedCodeBackground`,{dark:`#74747429`,light:`#b8b8b829`,hcDark:null,hcLight:null},w(1934,`The background color of unchanged code in the diff editor.`));var tv=X(`widget.shadow`,{dark:u_(J.black,.36),light:u_(J.black,.16),hcDark:null,hcLight:null},w(1935,`Shadow color of widgets such as find/replace inside the editor.`)),nv=X(`widget.border`,{dark:null,light:null,hcDark:x_,hcLight:x_},w(1936,`Border color of widgets such as find/replace inside the editor.`)),rv=X(`toolbar.hoverBackground`,{dark:`#5a5d5e50`,light:`#b8b8b850`,hcDark:null,hcLight:null},w(1937,`Toolbar background when hovering over actions using the mouse`));X(`toolbar.hoverOutline`,{dark:null,light:null,hcDark:S_,hcLight:S_},w(1938,`Toolbar outline when hovering over actions using the mouse`)),X(`toolbar.activeBackground`,{dark:l_(rv,.1),light:c_(rv,.1),hcDark:null,hcLight:null},w(1939,`Toolbar background when holding the mouse over actions`));var _ce=X(`breadcrumb.foreground`,u_(__,.8),w(1940,`Color of focused breadcrumb items.`)),vce=X(`breadcrumb.background`,O_,w(1941,`Background color of breadcrumb items.`)),iv=X(`breadcrumb.focusForeground`,{light:c_(__,.2),dark:l_(__,.1),hcDark:l_(__,.1),hcLight:l_(__,.1)},w(1942,`Color of focused breadcrumb items.`)),yce=X(`breadcrumb.activeSelectionForeground`,{light:c_(__,.2),dark:l_(__,.1),hcDark:l_(__,.1),hcLight:l_(__,.1)},w(1943,`Color of selected breadcrumb items.`));X(`breadcrumbPicker.background`,A_,w(1944,`Background color of breadcrumb item picker.`));var av=.5,ov=J.fromHex(`#40C8AE`).transparent(av),sv=J.fromHex(`#40A6FF`).transparent(av),cv=J.fromHex(`#606060`).transparent(.4),lv=.4,uv=1,dv=X(`merge.currentHeaderBackground`,{dark:ov,light:ov,hcDark:null,hcLight:null},w(1945,`Current header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations.`),!0);X(`merge.currentContentBackground`,u_(dv,lv),w(1946,`Current content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations.`),!0);var fv=X(`merge.incomingHeaderBackground`,{dark:sv,light:sv,hcDark:null,hcLight:null},w(1947,`Incoming header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations.`),!0);X(`merge.incomingContentBackground`,u_(fv,lv),w(1948,`Incoming content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations.`),!0);var pv=X(`merge.commonHeaderBackground`,{dark:cv,light:cv,hcDark:null,hcLight:null},w(1949,`Common ancestor header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations.`),!0);X(`merge.commonContentBackground`,u_(pv,lv),w(1950,`Common ancestor content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations.`),!0);var mv=X(`merge.border`,{dark:null,light:null,hcDark:`#C3DF6F`,hcLight:`#007ACC`},w(1951,`Border color on headers and the splitter in inline merge-conflicts.`));X(`editorOverviewRuler.currentContentForeground`,{dark:u_(dv,uv),light:u_(dv,uv),hcDark:mv,hcLight:mv},w(1952,`Current overview ruler foreground for inline merge-conflicts.`)),X(`editorOverviewRuler.incomingContentForeground`,{dark:u_(fv,uv),light:u_(fv,uv),hcDark:mv,hcLight:mv},w(1953,`Incoming overview ruler foreground for inline merge-conflicts.`)),X(`editorOverviewRuler.commonContentForeground`,{dark:u_(pv,uv),light:u_(pv,uv),hcDark:mv,hcLight:mv},w(1954,`Common ancestor overview ruler foreground for inline merge-conflicts.`));var hv=X(`editorOverviewRuler.findMatchForeground`,{dark:`#d186167e`,light:`#d186167e`,hcDark:`#AB5A00`,hcLight:`#AB5A00`},w(1955,`Overview ruler marker color for find matches. The color must not be opaque so as not to hide underlying decorations.`),!0),gv=X(`editorOverviewRuler.selectionHighlightForeground`,`#A0A0A0CC`,w(1956,`Overview ruler marker color for selection highlights. The color must not be opaque so as not to hide underlying decorations.`),!0),bce=X(`problemsErrorIcon.foreground`,N_,w(1957,`The color used for the problems error icon.`)),xce=X(`problemsWarningIcon.foreground`,P_,w(1958,`The color used for the problems warning icon.`)),Sce=X(`problemsInfoIcon.foreground`,I_,w(1959,`The color used for the problems info icon.`)),_v=X(`minimap.findMatchHighlight`,V_,w(2051,`Minimap marker color for find matches.`),!0),vv=X(`minimap.selectionOccurrenceHighlight`,B_,w(2052,`Minimap marker color for repeating editor selections.`),!0),yv=X(`minimap.selectionHighlight`,R_,w(2053,`Minimap marker color for the editor selection.`),!0),Cce=X(`minimap.infoHighlight`,{dark:I_,light:I_,hcDark:L_,hcLight:L_},w(2054,`Minimap marker color for infos.`)),wce=X(`minimap.warningHighlight`,{dark:P_,light:P_,hcDark:F_,hcLight:F_},w(2055,`Minimap marker color for warnings.`)),Tce=X(`minimap.errorHighlight`,{dark:new J(new q(255,18,18,.7)),light:new J(new q(255,18,18,.7)),hcDark:new J(new q(255,50,50,1)),hcLight:`#B5200D`},w(2056,`Minimap marker color for errors.`)),Ece=X(`minimap.background`,null,w(2057,`Minimap background color.`)),Dce=X(`minimap.foregroundOpacity`,J.fromHex(`#000f`),w(2058,`Opacity of foreground elements rendered in the minimap. For example, "#000000c0" will render the elements with 75% opacity.`));X(`minimapSlider.background`,u_(T_,.5),w(2059,`Minimap slider background color.`)),X(`minimapSlider.hoverBackground`,u_(E_,.5),w(2060,`Minimap slider background color when hovering.`)),X(`minimapSlider.activeBackground`,u_(D_,.5),w(2061,`Minimap slider background color when clicked on.`)),X(`charts.foreground`,__,w(1857,`The foreground color used in charts.`)),X(`charts.lines`,u_(__,.5),w(1858,`The color used for horizontal lines in charts.`)),X(`charts.red`,N_,w(1859,`The red color used in chart visualizations.`)),X(`charts.blue`,I_,w(1860,`The blue color used in chart visualizations.`)),X(`charts.yellow`,P_,w(1861,`The yellow color used in chart visualizations.`)),X(`charts.orange`,_v,w(1862,`The orange color used in chart visualizations.`)),X(`charts.green`,{dark:`#89D185`,light:`#388A34`,hcDark:`#89D185`,hcLight:`#374e06`},w(1863,`The green color used in chart visualizations.`)),X(`charts.purple`,{dark:`#B180D7`,light:`#652D90`,hcDark:`#B180D7`,hcLight:`#652D90`},w(1864,`The purple color used in chart visualizations.`));var Oce=X(`list.focusBackground`,null,w(2008,`List/Tree background color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.`)),kce=X(`list.focusForeground`,null,w(2009,`List/Tree foreground color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.`)),Ace=X(`list.focusOutline`,{dark:b_,light:b_,hcDark:S_,hcLight:S_},w(2010,`List/Tree outline color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.`)),jce=X(`list.focusAndSelectionOutline`,null,w(2011,`List/Tree outline color for the focused item when the list/tree is active and selected. An active list/tree has keyboard focus, an inactive does not.`)),bv=X(`list.activeSelectionBackground`,{dark:`#04395E`,light:`#0060C0`,hcDark:null,hcLight:J.fromHex(`#0F4A85`).transparent(.1)},w(2012,`List/Tree background color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.`)),xv=X(`list.activeSelectionForeground`,{dark:J.white,light:J.white,hcDark:null,hcLight:null},w(2013,`List/Tree foreground color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.`)),Sv=X(`list.activeSelectionIconForeground`,null,w(2014,`List/Tree icon foreground color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.`)),Mce=X(`list.inactiveSelectionBackground`,{dark:`#37373D`,light:`#E4E6F1`,hcDark:null,hcLight:J.fromHex(`#0F4A85`).transparent(.1)},w(2015,`List/Tree background color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.`)),Nce=X(`list.inactiveSelectionForeground`,null,w(2016,`List/Tree foreground color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.`)),Pce=X(`list.inactiveSelectionIconForeground`,null,w(2017,`List/Tree icon foreground color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.`)),Fce=X(`list.inactiveFocusBackground`,null,w(2018,`List/Tree background color for the focused item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.`)),Ice=X(`list.inactiveFocusOutline`,null,w(2019,`List/Tree outline color for the focused item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.`)),Cv=X(`list.hoverBackground`,{dark:`#2A2D2E`,light:`#F0F0F0`,hcDark:J.white.transparent(.1),hcLight:J.fromHex(`#0F4A85`).transparent(.1)},w(2020,`List/Tree background when hovering over items using the mouse.`)),wv=X(`list.hoverForeground`,null,w(2021,`List/Tree foreground when hovering over items using the mouse.`)),Lce=X(`list.dropBackground`,{dark:`#062F4A`,light:`#D6EBFF`,hcDark:null,hcLight:null},w(2022,`List/Tree drag and drop background when moving items over other items when using the mouse.`)),Rce=X(`list.dropBetweenBackground`,{dark:y_,light:y_,hcDark:null,hcLight:null},w(2023,`List/Tree drag and drop border color when moving items between items when using the mouse.`)),Tv=X(`list.highlightForeground`,{dark:`#2AAAFF`,light:`#0066BF`,hcDark:b_,hcLight:b_},w(2024,`List/Tree foreground color of the match highlights when searching inside the list/tree.`)),Ev=X(`list.focusHighlightForeground`,{dark:Tv,light:ece(bv,Tv,`#BBE7FF`),hcDark:Tv,hcLight:Tv},w(2025,`List/Tree foreground color of the match highlights on actively focused items when searching inside the list/tree.`));X(`list.invalidItemForeground`,{dark:`#B89500`,light:`#B89500`,hcDark:`#B89500`,hcLight:`#B5200D`},w(2026,`List/Tree foreground color for invalid items, for example an unresolved root in explorer.`)),X(`list.errorForeground`,{dark:`#F88070`,light:`#B01011`,hcDark:null,hcLight:null},w(2027,`Foreground color of list items containing errors.`)),X(`list.warningForeground`,{dark:`#CCA700`,light:`#855F00`,hcDark:null,hcLight:null},w(2028,`Foreground color of list items containing warnings.`));var zce=X(`listFilterWidget.background`,{light:c_(A_,0),dark:l_(A_,0),hcDark:A_,hcLight:A_},w(2029,`Background color of the type filter widget in lists and trees.`)),Bce=X(`listFilterWidget.outline`,{dark:J.transparent,light:J.transparent,hcDark:`#f38518`,hcLight:`#007ACC`},w(2030,`Outline color of the type filter widget in lists and trees.`)),Vce=X(`listFilterWidget.noMatchesOutline`,{dark:`#BE1100`,light:`#BE1100`,hcDark:x_,hcLight:x_},w(2031,`Outline color of the type filter widget in lists and trees, when there are no matches.`)),Hce=X(`listFilterWidget.shadow`,tv,w(2032,`Shadow color of the type filter widget in lists and trees.`));X(`list.filterMatchBackground`,{dark:V_,light:V_,hcDark:null,hcLight:null},w(2033,`Background color of the filtered match.`)),X(`list.filterMatchBorder`,{dark:U_,light:U_,hcDark:x_,hcLight:S_},w(2034,`Border color of the filtered match.`)),X(`list.deemphasizedForeground`,{dark:`#8C8C8C`,light:`#8E8E90`,hcDark:`#A7A8A9`,hcLight:`#666666`},w(2035,`List/Tree foreground color for items that are deemphasized.`));var Dv=X(`tree.indentGuidesStroke`,{dark:`#585858`,light:`#a9a9a9`,hcDark:`#a9a9a9`,hcLight:`#a5a5a5`},w(2036,`Tree stroke color for the indentation guides.`)),Uce=X(`tree.inactiveIndentGuidesStroke`,u_(Dv,.4),w(2037,`Tree stroke color for the indentation guides that are not active.`)),Wce=X(`tree.tableColumnsBorder`,{dark:`#CCCCCC20`,light:`#61616120`,hcDark:null,hcLight:null},w(2038,`Table border color between columns.`)),Gce=X(`tree.tableOddRowsBackground`,{dark:u_(__,.04),light:u_(__,.04),hcDark:null,hcLight:null},w(2039,`Background color for odd table rows.`));X(`editorActionList.background`,A_,w(2040,`Action List background color.`));var Kce=X(`editorActionList.foreground`,j_,w(2041,`Action List foreground color.`));X(`editorActionList.focusForeground`,xv,w(2042,`Action List foreground color for the focused item.`)),X(`editorActionList.focusBackground`,bv,w(2043,`Action List background color for the focused item.`));var Ov=X(`input.background`,{dark:`#3C3C3C`,light:J.white,hcDark:J.black,hcLight:J.white},w(1960,`Input box background.`)),kv=X(`input.foreground`,__,w(1961,`Input box foreground.`)),Av=X(`input.border`,{dark:null,light:null,hcDark:x_,hcLight:x_},w(1962,`Input box border.`)),jv=X(`inputOption.activeBorder`,{dark:`#007ACC`,light:`#007ACC`,hcDark:x_,hcLight:x_},w(1963,`Border color of activated options in input fields.`)),qce=X(`inputOption.hoverBackground`,{dark:`#5a5d5e80`,light:`#b8b8b850`,hcDark:null,hcLight:null},w(1964,`Background color of activated options in input fields.`)),Mv=X(`inputOption.activeBackground`,{dark:u_(b_,.4),light:u_(b_,.2),hcDark:J.transparent,hcLight:J.transparent},w(1965,`Background hover color of options in input fields.`)),Nv=X(`inputOption.activeForeground`,{dark:J.white,light:J.black,hcDark:__,hcLight:__},w(1966,`Foreground color of activated options in input fields.`));X(`input.placeholderForeground`,{light:u_(__,.5),dark:u_(__,.5),hcDark:u_(__,.7),hcLight:u_(__,.7)},w(1967,`Input box foreground color for placeholder text.`));var Jce=X(`inputValidation.infoBackground`,{dark:`#063B49`,light:`#D6ECF2`,hcDark:J.black,hcLight:J.white},w(1968,`Input validation background color for information severity.`)),Yce=X(`inputValidation.infoForeground`,{dark:null,light:null,hcDark:null,hcLight:__},w(1969,`Input validation foreground color for information severity.`)),Xce=X(`inputValidation.infoBorder`,{dark:`#007acc`,light:`#007acc`,hcDark:x_,hcLight:x_},w(1970,`Input validation border color for information severity.`)),Zce=X(`inputValidation.warningBackground`,{dark:`#352A05`,light:`#F6F5D2`,hcDark:J.black,hcLight:J.white},w(1971,`Input validation background color for warning severity.`)),Qce=X(`inputValidation.warningForeground`,{dark:null,light:null,hcDark:null,hcLight:__},w(1972,`Input validation foreground color for warning severity.`)),$ce=X(`inputValidation.warningBorder`,{dark:`#B89500`,light:`#B89500`,hcDark:x_,hcLight:x_},w(1973,`Input validation border color for warning severity.`)),ele=X(`inputValidation.errorBackground`,{dark:`#5A1D1D`,light:`#F2DEDE`,hcDark:J.black,hcLight:J.white},w(1974,`Input validation background color for error severity.`)),tle=X(`inputValidation.errorForeground`,{dark:null,light:null,hcDark:null,hcLight:__},w(1975,`Input validation foreground color for error severity.`)),nle=X(`inputValidation.errorBorder`,{dark:`#BE1100`,light:`#BE1100`,hcDark:x_,hcLight:x_},w(1976,`Input validation border color for error severity.`)),Pv=X(`dropdown.background`,{dark:`#3C3C3C`,light:J.white,hcDark:J.black,hcLight:J.white},w(1977,`Dropdown background.`)),rle=X(`dropdown.listBackground`,{dark:null,light:null,hcDark:J.black,hcLight:J.white},w(1978,`Dropdown list background.`)),Fv=X(`dropdown.foreground`,{dark:`#F0F0F0`,light:__,hcDark:J.white,hcLight:__},w(1979,`Dropdown foreground.`)),Iv=X(`dropdown.border`,{dark:Pv,light:`#CECECE`,hcDark:x_,hcLight:x_},w(1980,`Dropdown border.`)),Lv=X(`button.foreground`,J.white,w(1981,`Button foreground color.`)),ile=X(`button.separator`,u_(Lv,.4),w(1982,`Button separator color.`)),Rv=X(`button.background`,{dark:`#0E639C`,light:`#007ACC`,hcDark:J.black,hcLight:`#0F4A85`},w(1983,`Button background color.`)),ale=X(`button.hoverBackground`,{dark:l_(Rv,.2),light:c_(Rv,.2),hcDark:Rv,hcLight:Rv},w(1984,`Button background color when hovering.`)),ole=X(`button.border`,x_,w(1985,`Button border color.`)),sle=X(`button.secondaryForeground`,{dark:__,light:__,hcDark:J.white,hcLight:__},w(1986,`Secondary button foreground color.`)),cle=X(`button.secondaryBackground`,{dark:Cv,light:Cv,hcDark:null,hcLight:J.white},w(1987,`Secondary button background color.`)),lle=X(`button.secondaryBorder`,{dark:u_(__,.15),light:u_(__,.15),hcDark:x_,hcLight:x_},w(1988,`Secondary button border color.`)),ule=X(`button.secondaryHoverBackground`,{dark:l_(Cv,.2),light:l_(Cv,.2),hcDark:null,hcLight:null},w(1989,`Secondary button background color when hovering.`)),zv=X(`radio.activeForeground`,Nv,w(1990,`Foreground color of active radio option.`)),dle=X(`radio.activeBackground`,Mv,w(1991,`Background color of active radio option.`)),fle=X(`radio.activeBorder`,jv,w(1992,`Border color of the active radio option.`)),ple=X(`radio.inactiveForeground`,null,w(1993,`Foreground color of inactive radio option.`)),mle=X(`radio.inactiveBackground`,null,w(1994,`Background color of inactive radio option.`)),hle=X(`radio.inactiveBorder`,{light:u_(zv,.2),dark:u_(zv,.2),hcDark:u_(zv,.4),hcLight:u_(zv,.2)},w(1995,`Border color of the inactive radio option.`)),gle=X(`radio.inactiveHoverBackground`,qce,w(1996,`Background color of inactive active radio option when hovering.`)),Bv=X(`checkbox.background`,Pv,w(1997,`Background color of checkbox widget.`));X(`checkbox.selectBackground`,A_,w(1998,`Background color of checkbox widget when the element it's in is selected.`));var Vv=X(`checkbox.foreground`,Fv,w(1999,`Foreground color of checkbox widget.`)),_le=X(`checkbox.border`,Iv,w(2e3,`Border color of checkbox widget.`));X(`checkbox.selectBorder`,y_,w(2001,`Border color of checkbox widget when the element it's in is selected.`));var vle=X(`checkbox.disabled.background`,{op:7,color:Bv,with:Vv,ratio:.33},w(2002,`Background of a disabled checkbox.`)),yle=X(`checkbox.disabled.foreground`,{op:7,color:Vv,with:Bv,ratio:.33},w(2003,`Foreground of a disabled checkbox.`)),ble=X(`keybindingLabel.background`,{dark:new J(new q(128,128,128,.17)),light:new J(new q(221,221,221,.4)),hcDark:J.transparent,hcLight:J.transparent},w(2004,`Keybinding label background color. The keybinding label is used to represent a keyboard shortcut.`)),xle=X(`keybindingLabel.foreground`,{dark:J.fromHex(`#CCCCCC`),light:J.fromHex(`#555555`),hcDark:J.white,hcLight:__},w(2005,`Keybinding label foreground color. The keybinding label is used to represent a keyboard shortcut.`)),Sle=X(`keybindingLabel.border`,{dark:new J(new q(51,51,51,.6)),light:new J(new q(204,204,204,.4)),hcDark:new J(new q(111,195,223)),hcLight:x_},w(2006,`Keybinding label border color. The keybinding label is used to represent a keyboard shortcut.`)),Cle=X(`keybindingLabel.bottomBorder`,{dark:new J(new q(68,68,68,.6)),light:new J(new q(187,187,187,.4)),hcDark:new J(new q(111,195,223)),hcLight:__},w(2007,`Keybinding label border bottom color. The keybinding label is used to represent a keyboard shortcut.`)),wle=X(`menu.border`,{dark:null,light:null,hcDark:x_,hcLight:x_},w(2044,`Border color of menus.`)),Tle=X(`menu.foreground`,Fv,w(2045,`Foreground color of menu items.`)),Ele=X(`menu.background`,Pv,w(2046,`Background color of menu items.`));X(`menu.selectionForeground`,xv,w(2047,`Foreground color of the selected menu item in menus.`)),X(`menu.selectionBackground`,bv,w(2048,`Background color of the selected menu item in menus.`));var Dle=X(`menu.selectionBorder`,{dark:null,light:null,hcDark:S_,hcLight:S_},w(2049,`Border color of the selected menu item in menus.`)),Ole=X(`menu.separatorBackground`,{dark:u_(__,.2),light:u_(__,.2),hcDark:x_,hcLight:x_},w(2050,`Color of a separator menu item in menus.`)),Hv=X(`quickInput.background`,A_,w(2078,`Quick picker background color. The quick picker widget is the container for pickers like the command palette.`)),kle=X(`quickInput.foreground`,j_,w(2079,`Quick picker foreground color. The quick picker widget is the container for pickers like the command palette.`)),Ale=X(`quickInputTitle.background`,{dark:new J(new q(255,255,255,.105)),light:new J(new q(0,0,0,.06)),hcDark:`#000000`,hcLight:J.white},w(2080,`Quick picker title background color. The quick picker widget is the container for pickers like the command palette.`)),Uv=X(`pickerGroup.foreground`,{dark:`#3794FF`,light:`#0066BF`,hcDark:J.white,hcLight:`#0F4A85`},w(2081,`Quick picker color for grouping labels.`)),jle=X(`pickerGroup.border`,{dark:`#3F3F46`,light:`#CCCEDB`,hcDark:J.white,hcLight:`#0F4A85`},w(2082,`Quick picker color for grouping borders.`)),Wv=X(`quickInput.list.focusBackground`,null,``,void 0,w(2083,`Please use quickInputList.focusBackground instead`)),Gv=X(`quickInputList.focusForeground`,xv,w(2084,`Quick picker foreground color for the focused item.`)),Kv=X(`quickInputList.focusIconForeground`,Sv,w(2085,`Quick picker icon foreground color for the focused item.`)),qv=X(`quickInputList.focusBackground`,{dark:d_(Wv,bv),light:d_(Wv,bv),hcDark:null,hcLight:null},w(2086,`Quick picker background color for the focused item.`));X(`quickInputList.focusHighlightForeground`,Ev,w(2087,`Quick picker foreground color of the match highlights on the focused item.`)),X(`search.resultsInfoForeground`,{light:__,dark:u_(__,.65),hcDark:__,hcLight:__},w(2088,`Color of the text in the search viewlet's completion message.`)),X(`searchEditor.findMatchBackground`,{light:u_(V_,.66),dark:u_(V_,.66),hcDark:V_,hcLight:V_},w(2089,`Color of the Search Editor query matches.`)),X(`searchEditor.findMatchBorder`,{light:u_(U_,.66),dark:u_(U_,.66),hcDark:U_,hcLight:U_},w(2090,`Border color of the Search Editor query matches.`));var Jv=class{constructor(e,t){this.x=e,this.y=t,this._pageCoordinatesBrand=void 0}toClientCoordinates(e){return new Yv(this.x-e.scrollX,this.y-e.scrollY)}},Yv=class{constructor(e,t){this.clientX=e,this.clientY=t,this._clientCoordinatesBrand=void 0}toPageCoordinates(e){return new Jv(this.clientX+e.scrollX,this.clientY+e.scrollY)}},Mle=class{constructor(e,t,n,r){this.x=e,this.y=t,this.width=n,this.height=r,this._editorPagePositionBrand=void 0}},Nle=class{constructor(e,t){this.x=e,this.y=t,this._positionRelativeToEditorBrand=void 0}};function Xv(e){let t=Al(e);return new Mle(t.left,t.top,t.width,t.height)}function Zv(e,t,n){let r=t.width/e.offsetWidth,i=t.height/e.offsetHeight;return new Nle((n.x-t.x)/r,(n.y-t.y)/i)}var Qv=class extends ys{get editorPos(){return this._editorPos??=Xv(this._editorViewDomNode),this._editorPos}get relativePos(){return this._relativePos??=Zv(this._editorViewDomNode,this.editorPos,this.pos),this._relativePos}constructor(e,t,n){super(cl(n),e),this._editorMouseEventBrand=void 0,this.isFromPointerCapture=t,this.pos=new Jv(this.posx,this.posy),this._editorViewDomNode=n}},Ple=class{constructor(e){this._editorViewDomNode=e}_create(e){return new Qv(e,!1,this._editorViewDomNode)}onContextMenu(e,t){return R(e,z.CONTEXT_MENU,e=>{t(this._create(e))})}onMouseUp(e,t){return R(e,z.MOUSE_UP,e=>{t(this._create(e))})}onMouseDown(e,t){return R(e,z.MOUSE_DOWN,e=>{t(this._create(e))})}onPointerDown(e,t){return R(e,z.POINTER_DOWN,e=>{t(this._create(e),e.pointerId)})}onMouseLeave(e,t){return R(e,z.MOUSE_LEAVE,e=>{t(this._create(e))})}onMouseMove(e,t){return R(e,z.MOUSE_MOVE,e=>t(this._create(e)))}},Fle=class{constructor(e){this._editorViewDomNode=e}_create(e){return new Qv(e,!1,this._editorViewDomNode)}onPointerUp(e,t){return R(e,`pointerup`,e=>{t(this._create(e))})}onPointerDown(e,t){return R(e,z.POINTER_DOWN,e=>{t(this._create(e),e.pointerId)})}onPointerLeave(e,t){return R(e,z.POINTER_LEAVE,e=>{t(this._create(e))})}onPointerMove(e,t){return R(e,`pointermove`,e=>t(this._create(e)))}},Ile=class extends O{constructor(e){super(),this._editorViewDomNode=e,this._globalPointerMoveMonitor=this._register(new r_),this._keydownListener=null}startMonitoring(e,t,n,r,i){this._keydownListener=gl(e.ownerDocument,`keydown`,e=>{e.toKeyCodeChord().isModifierKey()||this._globalPointerMoveMonitor.stopMonitoring(!0,e.browserEvent)},!0),this._globalPointerMoveMonitor.startMonitoring(e,t,n,e=>{r(new Qv(e,!0,this._editorViewDomNode))},e=>{this._keydownListener.dispose(),i(e)})}stopMonitoring(){this._globalPointerMoveMonitor.stopMonitoring(!0)}},$v=class e{static{this._idPool=0}constructor(t){this._editor=t,this._instanceId=++e._idPool,this._counter=0,this._rules=new Gn,this._garbageCollectionScheduler=new Ns(()=>this.garbageCollect(),1e3)}dispose(){this._rules.dispose(),this._garbageCollectionScheduler.dispose()}createClassNameRef(e){let t=this.getOrCreateRule(e);return t.increaseRefCount(),{className:t.className,dispose:()=>{t.decreaseRefCount(),this._garbageCollectionScheduler.schedule()}}}getOrCreateRule(e){let t=this.computeUniqueKey(e),n=this._rules.get(t);if(!n){let r=this._counter++;n=new Lle(t,`dyn-rule-${this._instanceId}-${r}`,Rl(this._editor.getContainerDomNode())?this._editor.getContainerDomNode():void 0,e),this._rules.set(t,n)}return n}computeUniqueKey(e){return JSON.stringify(e)}garbageCollect(){for(let e of this._rules.values())e.hasReferences()||this._rules.deleteAndDispose(e.key)}},Lle=class{constructor(e,t,n,r){this.key=e,this.className=t,this.properties=r,this._referenceCount=0,this._styleElementDisposables=new D,this._styleElement=Qg(n,void 0,this._styleElementDisposables),this._styleElement.textContent=this.getCssText(this.className,this.properties)}getCssText(e,t){let n=`.${e} {`;for(let e in t){let r=t[e],i;i=typeof r==`object`?Y(r.id):r;let a=Rle(e);n+=`\n\t${a}: ${i};`}return n+=`
@@ -271,7 +271,7 @@ struct VSOutput {
271
271
  `&&e&&t.endColumn===this.getLineMaxColumn(t.endLineNumber)&&(n=n.substring(0,n.length-1))}return new Jp(e.identifier||null,t,n,e.forceMoveMarkers||!1,e.isAutoWhitespaceEdit||!1,e._isTracked||!1)}_validateEditOperations(e){let t=[];for(let n=0,r=e.length;n<r;n++)t[n]=this._validateEditOperation(e[n]);return t}edit(e,t){this.pushEditOperations(null,e.replacements.map(e=>({range:e.range,text:e.text})),null)}pushEditOperations(e,t,n,r,i){try{return this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._pushEditOperations(e,this._validateEditOperations(t),n,r,i)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_pushEditOperations(e,t,n,r,i){if(this._options.trimAutoWhitespace&&this._trimAutoWhitespaceLines){let n=t.map(e=>({range:this.validateRange(e.range),text:e.text})),r=!0;if(e)for(let t=0,i=e.length;t<i;t++){let i=e[t],a=!1;for(let e=0,t=n.length;e<t;e++){let t=n[e].range,r=t.startLineNumber>i.endLineNumber,o=i.startLineNumber>t.endLineNumber;if(!r&&!o){a=!0;break}}if(!a){r=!1;break}}if(r)for(let e=0,r=this._trimAutoWhitespaceLines.length;e<r;e++){let r=this._trimAutoWhitespaceLines[e],i=this.getLineMaxColumn(r),a=!0;for(let e=0,t=n.length;e<t;e++){let t=n[e].range,o=n[e].text;if(!(r<t.startLineNumber||r>t.endLineNumber)&&!(r===t.startLineNumber&&t.startColumn===i&&t.isEmpty()&&o&&o.length>0&&o.charAt(0)===`
272
272
  `)&&!(r===t.startLineNumber&&t.startColumn===1&&t.isEmpty()&&o&&o.length>0&&o.charAt(o.length-1)===`
273
273
  `)){a=!1;break}}if(a){let e=new N(r,1,r,i);t.push(new Jp(null,e,null,!1,!1,!1))}}this._trimAutoWhitespaceLines=null}return this._initialUndoRedoSnapshot===null&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEditOperation(e,t,n,r,i)}_applyUndo(e,t,n,r){let i=e.map(e=>{let t=this.getPositionAt(e.newPosition),n=this.getPositionAt(e.newEnd);return{range:new N(t.lineNumber,t.column,n.lineNumber,n.column),text:e.oldText}});this._applyUndoRedoEdits(i,t,!0,!1,n,r)}_applyRedo(e,t,n,r){let i=e.map(e=>{let t=this.getPositionAt(e.oldPosition),n=this.getPositionAt(e.oldEnd);return{range:new N(t.lineNumber,t.column,n.lineNumber,n.column),text:e.newText}});this._applyUndoRedoEdits(i,t,!1,!0,n,r)}_applyUndoRedoEdits(e,t,n,r,i,a){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._isUndoing=n,this._isRedoing=r;let o=this._validateEditOperations(e);this._doApplyEdits(o,!1,dw.applyEdits(),a),this.setEOL(t),this._overwriteAlternativeVersionId(i)}finally{this._isUndoing=!1,this._isRedoing=!1,this._eventEmitter.endDeferredEmit(a),this._onDidChangeDecorations.endDeferredEmit()}}applyEdits(e,t,n){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit();let r=this._validateEditOperations(e);return this._doApplyEdits(r,t??!1,n??dw.applyEdits())}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_doApplyEdits(e,t,n,r=null){let i=this._buffer.getLineCount(),a=this._buffer.applyEdits(e,this._options.trimAutoWhitespace,t),o=this._buffer.getLineCount(),s=a.changes;if(this._trimAutoWhitespaceLines=a.trimAutoWhitespaceLineNumbers,s.length!==0){for(let e=0,t=s.length;e<t;e++){let t=s[e];this._decorationsTree.acceptReplace(t.rangeOffset,t.rangeLength,t.text.length,t.forceMoveMarkers)}let e=[];this._increaseVersionId();let t=i;for(let n=0,r=s.length;n<r;n++){let r=s[n],[i]=cw(r.text);this._onDidChangeDecorations.fire();let a=r.range.startLineNumber,c=r.range.endLineNumber,l=c-a,u=i,d=Math.min(l,u),f=u-l,p=o-t-f+a;for(let t=d;t>=0;t--){let n=a+t,r=p+t;e.push(new qC(n,r))}if(d<l){let n=a+d,r=u-l,i=o-t-r+n;e.push(new Jpe(n+1,c,i))}if(d<u){let n=a+d,r=u-d,i=o-t-r+n+1;e.push(new Ype(n+1,i,r))}t+=f}this._emitContentChangedEvent(new JC(e,this.getVersionId(),this._isUndoing,this._isRedoing),{changes:s,eol:this._buffer.getEOL(),isEolChange:!1,versionId:this.getVersionId(),isUndoing:this._isUndoing,isRedoing:this._isRedoing,isFlush:!1,detailedReasons:[n],detailedReasonsChangeLengths:[s.length]},r)}return a.reverseEdits===null?void 0:a.reverseEdits}undo(){return this._undoRedoService.undo(this.uri)}canUndo(){return this._undoRedoService.canUndo(this.uri)}redo(){return this._undoRedoService.redo(this.uri)}canRedo(){return this._undoRedoService.canRedo(this.uri)}handleBeforeFireDecorationsChangedEvent(e,t,n){if(e&&e.size>0){let t=Array.from(e).map(e=>new qC(e,e));this._onDidChangeContentOrInjectedText(new YC(t))}this._fireOnDidChangeLineHeight(t),this._fireOnDidChangeFont(n)}_fireOnDidChangeLineHeight(e){if(e&&e.size>0){let t=Array.from(e).map(e=>new Kpe(e.ownerId,e.decorationId,e.lineNumber,e.lineHeight));this._onDidChangeLineHeight.fire(new XC(t))}}_fireOnDidChangeFont(e){if(e&&e.size>0){let t=Array.from(e).map(e=>new qpe(e.ownerId,e.lineNumber));this._onDidChangeFont.fire(new ZC(t))}}_onDidChangeContentOrInjectedText(e){for(let t of this._viewModels)try{t.onDidChangeContentOrInjectedText(e)}catch(e){Et(e)}for(let t of this._viewModels)try{t.emitContentChangeEvent(e)}catch(e){Et(e)}}changeDecorations(e,t=0){this._assertNotDisposed();try{return this._onDidChangeDecorations.beginDeferredEmit(),this._changeDecorations(t,e)}finally{this._onDidChangeDecorations.endDeferredEmit()}}_changeDecorations(e,t){let n={addDecoration:(t,n)=>this._deltaDecorationsImpl(e,[],[{range:t,options:n}])[0],changeDecoration:(t,n)=>{this._changeDecorationImpl(e,t,n)},changeDecorationOptions:(t,n)=>{this._changeDecorationOptionsImpl(e,t,eD(n))},removeDecoration:t=>{this._deltaDecorationsImpl(e,[t],[])},deltaDecorations:(t,n)=>t.length===0&&n.length===0?[]:this._deltaDecorationsImpl(e,t,n)},r=null;try{r=t(n)}catch(e){Et(e)}return n.addDecoration=UE,n.changeDecoration=UE,n.changeDecorationOptions=UE,n.removeDecoration=UE,n.deltaDecorations=UE,r}deltaDecorations(e,t,n=0){if(this._assertNotDisposed(),e||=[],e.length===0&&t.length===0)return[];try{return this._deltaDecorationCallCnt++,this._deltaDecorationCallCnt>1&&(console.warn(`Invoking deltaDecorations recursively could lead to leaking decorations.`),Et(Error(`Invoking deltaDecorations recursively could lead to leaking decorations.`))),this._onDidChangeDecorations.beginDeferredEmit(),this._deltaDecorationsImpl(n,e,t)}finally{this._onDidChangeDecorations.endDeferredEmit(),this._deltaDecorationCallCnt--}}_getTrackedRange(e){return this.getDecorationRange(e)}_setTrackedRange(e,t,n){let r=e?this._decorations[e]:null;if(!r)return t?this._deltaDecorationsImpl(0,[],[{range:t,options:$E[n]}],!0)[0]:null;if(!t)return this._decorationsTree.delete(r),delete this._decorations[r.id],null;let i=this._validateRangeRelaxedNoAllocations(t),a=this._buffer.getOffsetAt(i.startLineNumber,i.startColumn),o=this._buffer.getOffsetAt(i.endLineNumber,i.endColumn);return this._decorationsTree.delete(r),r.reset(this.getVersionId(),a,o,i),r.setOptions($E[n]),this._decorationsTree.insert(r),r.id}removeAllDecorationsWithOwnerId(e){if(this._isDisposed)return;let t=this._decorationsTree.collectNodesFromOwner(e);for(let e=0,n=t.length;e<n;e++){let n=t[e];this._decorationsTree.delete(n),delete this._decorations[n.id]}}getDecorationOptions(e){let t=this._decorations[e];return t?t.options:null}getDecorationRange(e){let t=this._decorations[e];return t?this._decorationsTree.getNodeRange(this,t):null}getLineDecorations(e,t=0,n=!1,r=!1){return e<1||e>this.getLineCount()?[]:this.getLinesDecorations(e,e,t,n,r)}getLinesDecorations(e,t,n=0,r=!1,i=!1,a=!1){let o=this.getLineCount(),s=Math.min(o,Math.max(1,e)),c=Math.min(o,Math.max(1,t)),l=new N(s,1,c,this.getLineMaxColumn(c)),u=this._getDecorationsInRange(l,n,r,i,a);return st(u,this._decorationProvider.getDecorationsInRange(l,n,r,i)),st(u,this._fontTokenDecorationsProvider.getDecorationsInRange(l,n,r,i)),u}getDecorationsInRange(e,t=0,n=!1,r=!1,i=!1,a=!1){let o=this.validateRange(e),s=this._getDecorationsInRange(o,t,n,r,a);return st(s,this._decorationProvider.getDecorationsInRange(o,t,n,r,i)),st(s,this._fontTokenDecorationsProvider.getDecorationsInRange(o,t,n,r,i)),s}getOverviewRulerDecorations(e=0,t=!1,n=!1){return this._decorationsTree.getAll(this,e,t,n,!0,!1)}getInjectedTextDecorations(e=0){return this._decorationsTree.getAllInjectedText(this,e)}getCustomLineHeightsDecorations(e=0){let t=this._decorationsTree.getAllCustomLineHeights(this,e);return st(t,this._fontTokenDecorationsProvider.getAllDecorations(e)),t}getCustomLineHeightsDecorationsInRange(e,t=0){let n=this._decorationsTree.getCustomLineHeightsInInterval(this,this.getOffsetAt(e.getStartPosition()),this.getOffsetAt(e.getEndPosition()),t);return st(n,this._fontTokenDecorationsProvider.getDecorationsInRange(e,t)),n}getLineInjectedText(e,t=0){let n=this._buffer.getOffsetAt(e,1),r=n+this._buffer.getLineLength(e),i=this._decorationsTree.getInjectedTextInInterval(this,n,r,t);return KC.fromDecorations(i).filter(t=>t.lineNumber===e)}getFontDecorationsInRange(e,t=0){let n=this._buffer.getOffsetAt(e.startLineNumber,e.startColumn),r=this._buffer.getOffsetAt(e.endLineNumber,e.endColumn);return this._decorationsTree.getFontDecorationsInInterval(this,n,r,t)}getAllDecorations(e=0,t=!1,n=!1){let r=this._decorationsTree.getAll(this,e,t,n,!1,!1);return r=r.concat(this._decorationProvider.getAllDecorations(e,t)),r=r.concat(this._fontTokenDecorationsProvider.getAllDecorations(e,t)),r}getAllMarginDecorations(e=0){return this._decorationsTree.getAll(this,e,!1,!1,!1,!0)}_getDecorationsInRange(e,t,n,r,i){let a=this._buffer.getOffsetAt(e.startLineNumber,e.startColumn),o=this._buffer.getOffsetAt(e.endLineNumber,e.endColumn);return this._decorationsTree.getAllInInterval(this,a,o,t,n,r,i)}getRangeAt(e,t){return this._buffer.getRangeAt(e,t-e)}_changeDecorationImpl(e,t,n){let r=this._decorations[t];if(!r)return;if(r.options.after){let e=this.getDecorationRange(t);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.endLineNumber)}if(r.options.before){let e=this.getDecorationRange(t);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.startLineNumber)}if(r.options.lineHeight!==null){let n=this.getDecorationRange(t);this._onDidChangeDecorations.recordLineAffectedByLineHeightChange(e,t,n.startLineNumber,null)}if(r.options.affectsFont){let n=this.getDecorationRange(t);this._onDidChangeDecorations.recordLineAffectedByFontChange(e,r.id,n.startLineNumber)}let i=this._validateRangeRelaxedNoAllocations(n),a=this._buffer.getOffsetAt(i.startLineNumber,i.startColumn),o=this._buffer.getOffsetAt(i.endLineNumber,i.endColumn);this._decorationsTree.delete(r),r.reset(this.getVersionId(),a,o,i),this._decorationsTree.insert(r),this._onDidChangeDecorations.checkAffectedAndFire(r.options),r.options.after&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(i.endLineNumber),r.options.before&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(i.startLineNumber),r.options.lineHeight!==null&&this._onDidChangeDecorations.recordLineAffectedByLineHeightChange(e,t,i.startLineNumber,r.options.lineHeight),r.options.affectsFont&&this._onDidChangeDecorations.recordLineAffectedByFontChange(e,r.id,i.startLineNumber)}_changeDecorationOptionsImpl(e,t,n){let r=this._decorations[t];if(!r)return;let i=!!(r.options.overviewRuler&&r.options.overviewRuler.color),a=!!(n.overviewRuler&&n.overviewRuler.color);if(this._onDidChangeDecorations.checkAffectedAndFire(r.options),this._onDidChangeDecorations.checkAffectedAndFire(n),r.options.after||n.after){let e=this._decorationsTree.getNodeRange(this,r);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.endLineNumber)}if(r.options.before||n.before){let e=this._decorationsTree.getNodeRange(this,r);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.startLineNumber)}if(r.options.lineHeight!==null||n.lineHeight!==null){let i=this._decorationsTree.getNodeRange(this,r);this._onDidChangeDecorations.recordLineAffectedByLineHeightChange(e,t,i.startLineNumber,n.lineHeight)}if(r.options.affectsFont||n.affectsFont){let n=this._decorationsTree.getNodeRange(this,r);this._onDidChangeDecorations.recordLineAffectedByFontChange(e,t,n.startLineNumber)}let o=i!==a,s=uge(n)!==qE(r);o||s?(this._decorationsTree.delete(r),r.setOptions(n),this._decorationsTree.insert(r)):r.setOptions(n)}_deltaDecorationsImpl(e,t,n,r=!1){let i=this.getVersionId(),a=t.length,o=0,s=n.length,c=0;this._onDidChangeDecorations.beginDeferredEmit();try{let l=Array(s);for(;o<a||c<s;){let u=null;if(o<a){let n;do n=t[o++],u=this._decorations[n];while(!u&&o<a);if(u){if(u.options.after){let e=this._decorationsTree.getNodeRange(this,u);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.endLineNumber)}if(u.options.before){let e=this._decorationsTree.getNodeRange(this,u);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.startLineNumber)}if(u.options.lineHeight!==null){let t=this._decorationsTree.getNodeRange(this,u);this._onDidChangeDecorations.recordLineAffectedByLineHeightChange(e,n,t.startLineNumber,null)}if(u.options.affectsFont){let t=this._decorationsTree.getNodeRange(this,u);this._onDidChangeDecorations.recordLineAffectedByFontChange(e,n,t.startLineNumber)}this._decorationsTree.delete(u),r||this._onDidChangeDecorations.checkAffectedAndFire(u.options)}}if(c<s){if(!u){let e=++this._lastDecorationId,t=`${this._instanceId};${e}`;u=new OT(t,0,0),this._decorations[t]=u}let t=n[c],a=this._validateRangeRelaxedNoAllocations(t.range),o=eD(t.options),s=this._buffer.getOffsetAt(a.startLineNumber,a.startColumn),d=this._buffer.getOffsetAt(a.endLineNumber,a.endColumn);u.ownerId=e,u.reset(i,s,d,a),u.setOptions(o),u.options.after&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(a.endLineNumber),u.options.before&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(a.startLineNumber),u.options.lineHeight!==null&&this._onDidChangeDecorations.recordLineAffectedByLineHeightChange(e,u.id,a.startLineNumber,u.options.lineHeight),u.options.affectsFont&&this._onDidChangeDecorations.recordLineAffectedByFontChange(e,u.id,a.startLineNumber),r||this._onDidChangeDecorations.checkAffectedAndFire(o),this._decorationsTree.insert(u),l[c]=u.id,c++}else u&&delete this._decorations[u.id]}return l}finally{this._onDidChangeDecorations.endDeferredEmit()}}getLanguageId(){return this.tokenization.getLanguageId()}setLanguage(e,t){typeof e==`string`?(this._languageSelectionListener.clear(),this._setLanguage(e,t)):(this._languageSelectionListener.value=e.onDidChange(()=>this._setLanguage(e.languageId,t)),this._setLanguage(e.languageId,t))}_setLanguage(e,t){this.tokenization.setLanguageId(e,t),this._languageService.requestRichLanguageFeatures(e)}getLanguageIdAtPosition(e,t){return this.tokenization.getLanguageIdAtPosition(e,t)}getWordAtPosition(e){return this._tokenizationTextModelPart.getWordAtPosition(e)}getWordUntilPosition(e){return this._tokenizationTextModelPart.getWordUntilPosition(e)}normalizePosition(e,t){return e}getLineIndentColumn(e){return GE(this.getLineContent(e))+1}toString(){return`TextModel(${this.uri.toString()})`}};WE=BE=nge([zE(4,aw),zE(5,Jf),zE(6,vp),zE(7,Tu)],WE);function lge(e,t,n){let r;if(n){let i=[];for(let e=0;e<n.length;e++){let r=n[e],a=t[e].tokens;a?a.forEach((n,a)=>{i.push({offset:r,text:n.substring(t[e].content),tokenMetadata:a.metadata})}):i.push({offset:r,text:t[e].content,tokenMetadata:Kh.defaultTokenMetadata})}r=e.withInserted(i)}else r=e;return r}function GE(e){let t=0;for(let n of e)if(n===` `||n===` `)t++;else break;return t}function KE(e){return!!(e.options.overviewRuler&&e.options.overviewRuler.color)}function uge(e){return!!e.after||!!e.before}function qE(e){return!!e.options.after||!!e.options.before}var JE=class{constructor(){this._decorationsTree0=new AT,this._decorationsTree1=new AT,this._injectedTextDecorationsTree=new AT}ensureAllNodesHaveRanges(e){this.getAll(e,0,!1,!1,!1,!1)}_ensureNodesHaveRanges(e,t){for(let n of t)n.range===null&&(n.range=e.getRangeAt(n.cachedAbsoluteStart,n.cachedAbsoluteEnd));return t}getAllInInterval(e,t,n,r,i,a,o){let s=e.getVersionId(),c=this._intervalSearch(t,n,r,i,a,s,o);return this._ensureNodesHaveRanges(e,c)}_intervalSearch(e,t,n,r,i,a,o){let s=this._decorationsTree0.intervalSearch(e,t,n,r,i,a,o),c=this._decorationsTree1.intervalSearch(e,t,n,r,i,a,o),l=this._injectedTextDecorationsTree.intervalSearch(e,t,n,r,i,a,o);return s.concat(c).concat(l)}getInjectedTextInInterval(e,t,n,r){let i=e.getVersionId(),a=this._injectedTextDecorationsTree.intervalSearch(t,n,r,!1,!1,i,!1);return this._ensureNodesHaveRanges(e,a).filter(e=>e.options.showIfCollapsed||!e.range.isEmpty())}getFontDecorationsInInterval(e,t,n,r){let i=e.getVersionId(),a=this._decorationsTree0.intervalSearch(t,n,r,!1,!1,i,!1);return this._ensureNodesHaveRanges(e,a).filter(e=>e.options.affectsFont)}getAllInjectedText(e,t){let n=e.getVersionId(),r=this._injectedTextDecorationsTree.search(t,!1,!1,n,!1);return this._ensureNodesHaveRanges(e,r).filter(e=>e.options.showIfCollapsed||!e.range.isEmpty())}getAllCustomLineHeights(e,t){let n=e.getVersionId(),r=this._search(t,!1,!1,!1,n,!1);return this._ensureNodesHaveRanges(e,r).filter(e=>typeof e.options.lineHeight==`number`)}getCustomLineHeightsInInterval(e,t,n,r){let i=e.getVersionId(),a=this._intervalSearch(t,n,r,!1,!1,i,!1);return this._ensureNodesHaveRanges(e,a).filter(e=>typeof e.options.lineHeight==`number`)}getAll(e,t,n,r,i,a){let o=e.getVersionId(),s=this._search(t,n,r,i,o,a);return this._ensureNodesHaveRanges(e,s)}_search(e,t,n,r,i,a){if(r)return this._decorationsTree1.search(e,t,n,i,a);{let r=this._decorationsTree0.search(e,t,n,i,a),o=this._decorationsTree1.search(e,t,n,i,a),s=this._injectedTextDecorationsTree.search(e,t,n,i,a);return r.concat(o).concat(s)}}collectNodesFromOwner(e){let t=this._decorationsTree0.collectNodesFromOwner(e),n=this._decorationsTree1.collectNodesFromOwner(e),r=this._injectedTextDecorationsTree.collectNodesFromOwner(e);return t.concat(n).concat(r)}collectNodesPostOrder(){let e=this._decorationsTree0.collectNodesPostOrder(),t=this._decorationsTree1.collectNodesPostOrder(),n=this._injectedTextDecorationsTree.collectNodesPostOrder();return e.concat(t).concat(n)}insert(e){qE(e)?this._injectedTextDecorationsTree.insert(e):KE(e)?this._decorationsTree1.insert(e):this._decorationsTree0.insert(e)}delete(e){qE(e)?this._injectedTextDecorationsTree.delete(e):KE(e)?this._decorationsTree1.delete(e):this._decorationsTree0.delete(e)}getNodeRange(e,t){let n=e.getVersionId();return t.cachedVersionId!==n&&this._resolveNode(t,n),t.range===null&&(t.range=e.getRangeAt(t.cachedAbsoluteStart,t.cachedAbsoluteEnd)),t.range}_resolveNode(e,t){qE(e)?this._injectedTextDecorationsTree.resolveNode(e,t):KE(e)?this._decorationsTree1.resolveNode(e,t):this._decorationsTree0.resolveNode(e,t)}acceptReplace(e,t,n,r){this._decorationsTree0.acceptReplace(e,t,n,r),this._decorationsTree1.acceptReplace(e,t,n,r),this._injectedTextDecorationsTree.acceptReplace(e,t,n,r)}};function YE(e){return e.replace(/[^a-z0-9\-_]/gi,` `)}var XE=class{constructor(e){this.color=e.color||``,this.darkColor=e.darkColor||``}},dge=class extends XE{constructor(e){super(e),this._resolvedColor=null,this.position=typeof e.position==`number`?e.position:Hp.Center}getColor(e){return this._resolvedColor||=fy(e.type)&&this.darkColor?this._resolveColor(this.darkColor,e):this._resolveColor(this.color,e),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=null}_resolveColor(e,t){if(typeof e==`string`)return e;let n=e?t.getColor(e.id):null;return n?n.toString():``}},fge=class{constructor(e){this.position=e?.position??Up.Center,this.persistLane=e?.persistLane}},pge=class extends XE{constructor(e){super(e),this.position=e.position,this.sectionHeaderStyle=e.sectionHeaderStyle??null,this.sectionHeaderText=e.sectionHeaderText??null}getColor(e){return this._resolvedColor||=fy(e.type)&&this.darkColor?this._resolveColor(this.darkColor,e):this._resolveColor(this.color,e),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=void 0}_resolveColor(e,t){return typeof e==`string`?J.fromHex(e):t.getColor(e.id)}},ZE=class e{static from(t){return t instanceof e?t:new e(t)}constructor(e){this.content=e.content||``,this.tokens=e.tokens??null,this.inlineClassName=e.inlineClassName||null,this.inlineClassNameAffectsLetterSpacing=e.inlineClassNameAffectsLetterSpacing||!1,this.attachedData=e.attachedData||null,this.cursorStops=e.cursorStops||null}},QE=class e{static register(t){return new e(t)}static createDynamic(t){return new e(t)}constructor(e){this.description=e.description,this.blockClassName=e.blockClassName?YE(e.blockClassName):null,this.blockDoesNotCollapse=e.blockDoesNotCollapse??null,this.blockIsAfterEnd=e.blockIsAfterEnd??null,this.blockPadding=e.blockPadding??null,this.stickiness=e.stickiness||0,this.zIndex=e.zIndex||0,this.className=e.className?YE(e.className):null,this.shouldFillLineOnLineBreak=e.shouldFillLineOnLineBreak??null,this.hoverMessage=e.hoverMessage||null,this.glyphMarginHoverMessage=e.glyphMarginHoverMessage||null,this.lineNumberHoverMessage=e.lineNumberHoverMessage||null,this.isWholeLine=e.isWholeLine||!1,this.lineHeight=e.lineHeight?Math.min(e.lineHeight,sge):null,this.fontSize=e.fontSize||null,this.affectsFont=!!e.fontSize||!!e.fontFamily||!!e.fontWeight||!!e.fontStyle,this.showIfCollapsed=e.showIfCollapsed||!1,this.collapseOnReplaceEdit=e.collapseOnReplaceEdit||!1,this.overviewRuler=e.overviewRuler?new dge(e.overviewRuler):null,this.minimap=e.minimap?new pge(e.minimap):null,this.glyphMargin=e.glyphMarginClassName?new fge(e.glyphMargin):null,this.glyphMarginClassName=e.glyphMarginClassName?YE(e.glyphMarginClassName):null,this.linesDecorationsClassName=e.linesDecorationsClassName?YE(e.linesDecorationsClassName):null,this.lineNumberClassName=e.lineNumberClassName?YE(e.lineNumberClassName):null,this.linesDecorationsTooltip=e.linesDecorationsTooltip?ane(e.linesDecorationsTooltip):null,this.firstLineDecorationClassName=e.firstLineDecorationClassName?YE(e.firstLineDecorationClassName):null,this.marginClassName=e.marginClassName?YE(e.marginClassName):null,this.inlineClassName=e.inlineClassName?YE(e.inlineClassName):null,this.inlineClassNameAffectsLetterSpacing=e.inlineClassNameAffectsLetterSpacing||!1,this.beforeContentClassName=e.beforeContentClassName?YE(e.beforeContentClassName):null,this.afterContentClassName=e.afterContentClassName?YE(e.afterContentClassName):null,this.after=e.after?ZE.from(e.after):null,this.before=e.before?ZE.from(e.before):null,this.hideInCommentTokens=e.hideInCommentTokens??!1,this.hideInStringTokens=e.hideInStringTokens??!1,this.textDirection=e.textDirection??null}};QE.EMPTY=QE.register({description:`empty`});var $E=[QE.register({description:`tracked-range-always-grows-when-typing-at-edges`,stickiness:0}),QE.register({description:`tracked-range-never-grows-when-typing-at-edges`,stickiness:1}),QE.register({description:`tracked-range-grows-only-when-typing-before`,stickiness:2}),QE.register({description:`tracked-range-grows-only-when-typing-after`,stickiness:3})];function eD(e){return e instanceof QE?e:QE.createDynamic(e)}var mge=class extends O{constructor(e){super(),this.handleBeforeFire=e,this._actual=this._register(new A),this.event=this._actual.event,this._affectedInjectedTextLines=null,this._affectedLineHeights=null,this._affectedFontLines=null,this._deferredCnt=0,this._shouldFireDeferred=!1,this._affectsMinimap=!1,this._affectsOverviewRuler=!1,this._affectsGlyphMargin=!1,this._affectsLineNumber=!1}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(){this._deferredCnt--,this._deferredCnt===0&&(this._shouldFireDeferred&&this.doFire(),this._affectedInjectedTextLines?.clear(),this._affectedInjectedTextLines=null,this._affectedLineHeights?.clear(),this._affectedLineHeights=null,this._affectedFontLines?.clear(),this._affectedFontLines=null)}recordLineAffectedByInjectedText(e){this._affectedInjectedTextLines||=new Set,this._affectedInjectedTextLines.add(e)}recordLineAffectedByLineHeightChange(e,t,n,r){this._affectedLineHeights||=new iw([],cE.toKey),this._affectedLineHeights.add(new cE(e,t,n,r))}recordLineAffectedByFontChange(e,t,n){this._affectedFontLines||=new iw([],lE.toKey),this._affectedFontLines.add(new lE(e,t,n))}checkAffectedAndFire(e){this._affectsMinimap||=!!e.minimap?.position,this._affectsOverviewRuler||=!!e.overviewRuler?.color,this._affectsGlyphMargin||=!!e.glyphMarginClassName,this._affectsLineNumber||=!!e.lineNumberClassName,this.tryFire()}fire(){this._affectsMinimap=!0,this._affectsOverviewRuler=!0,this._affectsGlyphMargin=!0,this.tryFire()}tryFire(){this._deferredCnt===0?this.doFire():this._shouldFireDeferred=!0}doFire(){this.handleBeforeFire(this._affectedInjectedTextLines,this._affectedLineHeights,this._affectedFontLines);let e={affectsMinimap:this._affectsMinimap,affectsOverviewRuler:this._affectsOverviewRuler,affectsGlyphMargin:this._affectsGlyphMargin,affectsLineNumber:this._affectsLineNumber};this._shouldFireDeferred=!1,this._affectsMinimap=!1,this._affectsOverviewRuler=!1,this._affectsGlyphMargin=!1,this._actual.fire(e)}},hge=class extends O{constructor(){super(),this._emitter=this._register(new A),this.event=this._emitter.event,this._deferredCnt=0,this._deferredEvent=null}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(e=null){if(this._deferredCnt--,this._deferredCnt===0&&this._deferredEvent!==null){this._deferredEvent.rawContentChangedEvent.resultingSelection=e;let t=this._deferredEvent;this._deferredEvent=null,this._emitter.fire(t)}}fire(e){if(this._deferredCnt>0){this._deferredEvent=this._deferredEvent?this._deferredEvent.merge(e):e;return}this._emitter.fire(e)}},gge=class e{static create(t){return new e(t.get(151),t.get(150))}constructor(e,t){this.classifier=new _ge(e,t)}createLineBreaksComputer(e,t,n,r,i,a,o){let s=[],c=[];return{addRequest:(e,t)=>{s.push(e),c.push(t)},finalize:()=>{let l=t.typicalFullwidthCharacterWidth/t.typicalHalfwidthCharacterWidth,u=[];for(let t=0,d=s.length;t<d;t++){let d=s[t],f=e.getLineInjectedText(d),p=e.getLineContent(d),m=c[t],h=o&&p.includes(`"`)&&p.includes(`\\n`);m&&!m.injectionOptions&&!f&&!h?u[t]=vge(this.classifier,m,p,n,r,l,i,a):u[t]=yge(this.classifier,p,f,n,r,l,i,a,h)}return tD.length=0,nD.length=0,u}}}},_ge=class extends Fp{constructor(e,t){super(0);for(let t=0;t<e.length;t++)this.set(e.charCodeAt(t),1);for(let e=0;e<t.length;e++)this.set(t.charCodeAt(e),2)}get(e){return e>=0&&e<256?this._asciiMap[e]:e>=12352&&e<=12543||e>=13312&&e<=19903||e>=19968&&e<=40959?3:this._map.get(e)||this._defaultValue}},tD=[],nD=[];function vge(e,t,n,r,i,a,o,s){if(i===-1)return null;let c=n.length;if(c<=1)return null;let l=s===`keepAll`,u=t.breakOffsets,d=t.breakOffsetsVisibleColumn,f=oD(n,r,i,a,o),p=i-f,m=tD,h=nD,g=0,_=0,v=0,y=i,b=u.length,x=0;if(x>=0){let e=Math.abs(d[x]-y);for(;x+1<b;){let t=Math.abs(d[x+1]-y);if(t>=e)break;e=t,x++}}for(;x<b;){let t=x<0?0:u[x],i=x<0?0:d[x];_>t&&(t=_,i=v);let o=0,s=0,f=0,S=0;if(i<=y){let v=i,b=t===0?0:n.charCodeAt(t-1),x=t===0?0:e.get(b),C=!0;for(let i=t;i<c;i++){let t=i,c=n.charCodeAt(i),u,d;if(Po(c)?(i++,u=0,d=2):(u=e.get(c),d=rD(c,v,r,a)),t>_&&aD(b,x,c,u,l)&&(o=t,s=v),v+=d,v>y){t>_?(f=t,S=v-d):(f=i+1,S=v),v-s>p&&(o=0),C=!1;break}b=c,x=u}if(C){g>0&&(m[g]=u[u.length-1],h[g]=d[u.length-1],g++);break}}if(o===0){let c=i,u=n.charCodeAt(t),d=e.get(u),m=!1;for(let r=t-1;r>=_;r--){let t=r+1,i=n.charCodeAt(r);if(i===9){m=!0;break}let h,g;if(Fo(i)?(r--,h=0,g=2):(h=e.get(i),g=qo(i)?a:1),c<=y){if(f===0&&(f=t,S=c),c<=y-p)break;if(aD(i,h,u,d,l)){o=t,s=c;break}}c-=g,u=i,d=h}if(o!==0){let e=p-(S-s);if(e<=r){let t=n.charCodeAt(f),i;i=Po(t)?2:rD(t,S,r,a),e-i<0&&(o=0)}}if(m){x--;continue}}if(o===0&&(o=f,s=S),o<=_){let e=n.charCodeAt(_);Po(e)?(o=_+2,s=v+2):(o=_+1,s=v+rD(e,v,r,a))}for(_=o,m[g]=o,v=s,h[g]=s,g++,y=s+p;x<0||x<b&&d[x]<s;)x++;let C=Math.abs(d[x]-y);for(;x+1<b;){let e=Math.abs(d[x+1]-y);if(e>=C)break;C=e,x++}}return g===0?null:(m.length=g,h.length=g,tD=t.breakOffsets,nD=t.breakOffsetsVisibleColumn,t.breakOffsets=m,t.breakOffsetsVisibleColumn=h,t.wrappedTextIndentLength=f,t)}function yge(e,t,n,r,i,a,o,s,c){let l=KC.applyInjectedText(t,n),u,d;if(n&&n.length>0?(u=n.map(e=>e.options),d=n.map(e=>e.column-1)):(u=null,d=null),i===-1)return u?new HC(d,u,[l.length],[],0):null;let f=l.length;if(f<=1)return u?new HC(d,u,[l.length],[],0):null;let p=s===`keepAll`,m=oD(l,r,i,a,o),h=i-m,g=[],_=[],v=0,y=0,b=0,x=i,S=l.charCodeAt(0),C=e.get(S),ee=rD(S,0,r,a),te=1;Po(S)&&(ee+=1,S=l.charCodeAt(1),C=e.get(S),te++);for(let t=te;t<f;t++){let n=t,i=l.charCodeAt(t),o,s,u=!1;Po(i)?(t++,o=0,s=2):(o=e.get(i),s=rD(i,ee,r,a)),c&&bge(l,t)?(y=n,b=ee,u=!0):aD(S,C,i,o,p)&&(y=n,b=ee),ee+=s,(ee>x||u)&&((y===0||ee-b>h)&&(y=n,b=ee-s),g[v]=y,_[v]=b,v++,x=b+h,y=0),S=i,C=o}return v===0&&(!n||n.length===0)?null:(g[v]=f,_[v]=ee,new HC(d,u,g,_,m))}function rD(e,t,n,r){return e===9?n-t%n:qo(e)||e<32?r:1}function iD(e,t){return t-e%t}function bge(e,t){if(t>=2&&e.charAt(t-1)===`n`){let n=0;for(let r=t-2;r>=0;r--)if(e.charAt(r)===`\\`)n++;else return n%2==1}return!1}function aD(e,t,n,r,i){return n!==32&&(t===2&&r!==2||t!==1&&r===1||!i&&t===3&&r!==2||!i&&r===3&&t!==1)}function oD(e,t,n,r,i){let a=0;if(i!==0){let o=yo(e);if(o!==-1){for(let n=0;n<o;n++){let r=e.charCodeAt(n)===9?iD(a,t):1;a+=r}let s=i===3?2:+(i===2);for(let e=0;e<s;e++){let e=iD(a,t);a+=e}a+r>n&&(a=0)}}return a}var sD=class e{constructor(e){this._selTrackedRange=null,this._trackSelection=!0,this._setState(e,new Sb(new N(1,1,1,1),0,0,new M(1,1),0),new Sb(new N(1,1,1,1),0,0,new M(1,1),0))}dispose(e){this._removeTrackedRange(e)}startTrackingSelection(e){this._trackSelection=!0,this._updateTrackedRange(e)}stopTrackingSelection(e){this._trackSelection=!1,this._removeTrackedRange(e)}_updateTrackedRange(e){this._trackSelection&&(this._selTrackedRange=e.model._setTrackedRange(this._selTrackedRange,this.modelState.selection,0))}_removeTrackedRange(e){this._selTrackedRange=e.model._setTrackedRange(this._selTrackedRange,null,0)}asCursorState(){return new xb(this.modelState,this.viewState)}readSelectionFromMarkers(e){let t=e.model._getTrackedRange(this._selTrackedRange);return this.modelState.selection.isEmpty()&&!t.isEmpty()?P.fromRange(t.collapseToEnd(),this.modelState.selection.getDirection()):P.fromRange(t,this.modelState.selection.getDirection())}ensureValidState(e){this._setState(e,this.modelState,this.viewState)}setState(e,t,n){this._setState(e,t,n)}static _validatePositionWithCache(e,t,n,r){return t.equals(n)?r:e.normalizePosition(t,2)}static _validateViewState(e,t){let n=t.position,r=t.selectionStart.getStartPosition(),i=t.selectionStart.getEndPosition(),a=e.normalizePosition(n,2),o=this._validatePositionWithCache(e,r,n,a),s=this._validatePositionWithCache(e,i,r,o);return n.equals(a)&&r.equals(o)&&i.equals(s)?t:new Sb(N.fromPositions(o,s),t.selectionStartKind,t.selectionStartLeftoverVisibleColumns+r.column-o.column,a,t.leftoverVisibleColumns+n.column-a.column)}_setState(t,n,r){if(r&&=e._validateViewState(t.viewModel,r),n){let e=t.model.validateRange(n.selectionStart),r=n.selectionStart.equalsRange(e)?n.selectionStartLeftoverVisibleColumns:0,i=t.model.validatePosition(n.position),a=n.position.equals(i)?n.leftoverVisibleColumns:0;n=new Sb(e,n.selectionStartKind,r,i,a)}else{if(!r)return;let e=t.model.validateRange(t.coordinatesConverter.convertViewRangeToModelRange(r.selectionStart)),i=t.model.validatePosition(t.coordinatesConverter.convertViewPositionToModelPosition(r.position));n=new Sb(e,r.selectionStartKind,r.selectionStartLeftoverVisibleColumns,i,r.leftoverVisibleColumns)}if(r){let e=t.coordinatesConverter.validateViewRange(r.selectionStart,n.selectionStart),i=t.coordinatesConverter.validateViewPosition(r.position,n.position);r=new Sb(e,n.selectionStartKind,n.selectionStartLeftoverVisibleColumns,i,n.leftoverVisibleColumns)}else{let e=t.coordinatesConverter.convertModelPositionToViewPosition(new M(n.selectionStart.startLineNumber,n.selectionStart.startColumn)),i=t.coordinatesConverter.convertModelPositionToViewPosition(new M(n.selectionStart.endLineNumber,n.selectionStart.endColumn)),a=new N(e.lineNumber,e.column,i.lineNumber,i.column),o=t.coordinatesConverter.convertModelPositionToViewPosition(n.position);r=new Sb(a,n.selectionStartKind,n.selectionStartLeftoverVisibleColumns,o,n.leftoverVisibleColumns)}this.modelState=n,this.viewState=r,this._updateTrackedRange(t)}},cD=class{constructor(e){this.context=e,this.cursors=[new sD(e)],this.lastAddedCursorIndex=0}dispose(){for(let e of this.cursors)e.dispose(this.context)}startTrackingSelections(){for(let e of this.cursors)e.startTrackingSelection(this.context)}stopTrackingSelections(){for(let e of this.cursors)e.stopTrackingSelection(this.context)}updateContext(e){this.context=e}ensureValidState(){for(let e of this.cursors)e.ensureValidState(this.context)}readSelectionFromMarkers(){return this.cursors.map(e=>e.readSelectionFromMarkers(this.context))}getAll(){return this.cursors.map(e=>e.asCursorState())}getViewPositions(){return this.cursors.map(e=>e.viewState.position)}getTopMostViewPosition(){return gm(this.cursors,mt(e=>e.viewState.position,M.compare)).viewState.position}getBottomMostViewPosition(){return hm(this.cursors,mt(e=>e.viewState.position,M.compare)).viewState.position}getSelections(){return this.cursors.map(e=>e.modelState.selection)}getViewSelections(){return this.cursors.map(e=>e.viewState.selection)}setSelections(e){this.setStates(xb.fromModelSelections(e))}getPrimaryCursor(){return this.cursors[0].asCursorState()}setStates(e){e!==null&&(this.cursors[0].setState(this.context,e[0].modelState,e[0].viewState),this._setSecondaryStates(e.slice(1)))}_setSecondaryStates(e){let t=this.cursors.length-1,n=e.length;if(t<n){let e=n-t;for(let t=0;t<e;t++)this._addSecondaryCursor()}else if(t>n){let e=t-n;for(let t=0;t<e;t++)this._removeSecondaryCursor(this.cursors.length-2)}for(let t=0;t<n;t++)this.cursors[t+1].setState(this.context,e[t].modelState,e[t].viewState)}killSecondaryCursors(){this._setSecondaryStates([])}_addSecondaryCursor(){this.cursors.push(new sD(this.context)),this.lastAddedCursorIndex=this.cursors.length-1}getLastAddedCursorIndex(){return this.cursors.length===1||this.lastAddedCursorIndex===0?0:this.lastAddedCursorIndex}_removeSecondaryCursor(e){this.lastAddedCursorIndex>=e+1&&this.lastAddedCursorIndex--,this.cursors[e+1].dispose(this.context),this.cursors.splice(e+1,1)}normalize(){if(this.cursors.length===1)return;let e=this.cursors.slice(0),t=[];for(let n=0,r=e.length;n<r;n++)t.push({index:n,selection:e[n].modelState.selection});t.sort(mt(e=>e.selection,N.compareRangesUsingStarts));for(let n=0;n<t.length-1;n++){let r=t[n],i=t[n+1],a=r.selection,o=i.selection;if(!this.context.cursorConfig.multiCursorMergeOverlapping)continue;let s;if(s=o.isEmpty()||a.isEmpty()?o.getStartPosition().isBeforeOrEqual(a.getEndPosition()):o.getStartPosition().isBefore(a.getEndPosition()),s){let a=r.index<i.index?n:n+1,o=r.index<i.index?n+1:n,s=t[o].index,c=t[a].index,l=t[o].selection,u=t[a].selection;if(!l.equalsSelection(u)){let n=l.plusRange(u),r=l.selectionStartLineNumber===l.startLineNumber&&l.selectionStartColumn===l.startColumn,i=u.selectionStartLineNumber===u.startLineNumber&&u.selectionStartColumn===u.startColumn,o;s===this.lastAddedCursorIndex?(o=r,this.lastAddedCursorIndex=c):o=i;let d;d=o?new P(n.startLineNumber,n.startColumn,n.endLineNumber,n.endColumn):new P(n.endLineNumber,n.endColumn,n.startLineNumber,n.startColumn),t[a].selection=d;let f=xb.fromModelSelection(d);e[c].setState(this.context,f.modelState,f.viewState)}for(let e of t)e.index>s&&e.index--;e.splice(s,1),t.splice(o,1),this._removeSecondaryCursor(s-1),n--}}}},lD=class{constructor(e,t,n,r){this._cursorContextBrand=void 0,this.model=e,this.viewModel=t,this.coordinatesConverter=n,this.cursorConfig=r}},xge=class{constructor(){this.type=0}},Sge=class{constructor(){this.type=1}},Cge=class{constructor(e){this.type=2,this._source=e}hasChanged(e){return this._source.hasChanged(e)}},wge=class{constructor(e,t,n){this.selections=e,this.modelSelections=t,this.reason=n,this.type=3}},uD=class{constructor(e){this.type=4,e?(this.affectsMinimap=e.affectsMinimap,this.affectsOverviewRuler=e.affectsOverviewRuler,this.affectsGlyphMargin=e.affectsGlyphMargin,this.affectsLineNumber=e.affectsLineNumber):(this.affectsMinimap=!0,this.affectsOverviewRuler=!0,this.affectsGlyphMargin=!0,this.affectsLineNumber=!0)}},dD=class{constructor(){this.type=5}},Tge=class{constructor(e){this.type=6,this.isFocused=e}},Ege=class{constructor(){this.type=7}},fD=class{constructor(){this.type=8}},pD=class{constructor(e,t){this.fromLineNumber=e,this.count=t,this.type=9}},mD=class{constructor(e,t){this.type=10,this.fromLineNumber=e,this.toLineNumber=t}},hD=class{constructor(e,t){this.type=11,this.fromLineNumber=e,this.toLineNumber=t}},gD=class{constructor(e,t,n,r,i,a,o){this.source=e,this.minimalReveal=t,this.range=n,this.selections=r,this.verticalType=i,this.revealHorizontal=a,this.scrollType=o,this.type=12}},Dge=class{constructor(e){this.type=13,this.scrollWidth=e.scrollWidth,this.scrollLeft=e.scrollLeft,this.scrollHeight=e.scrollHeight,this.scrollTop=e.scrollTop,this.scrollWidthChanged=e.scrollWidthChanged,this.scrollLeftChanged=e.scrollLeftChanged,this.scrollHeightChanged=e.scrollHeightChanged,this.scrollTopChanged=e.scrollTopChanged}},Oge=class{constructor(e){this.theme=e,this.type=14}},kge=class{constructor(e){this.type=15,this.ranges=e}},Age=class{constructor(){this.type=16}},jge=class{constructor(){this.type=17}},Mge=class extends O{constructor(){super(),this._onEvent=this._register(new A),this.onEvent=this._onEvent.event,this._eventHandlers=[],this._viewEventQueue=null,this._isConsumingViewEventQueue=!1,this._collector=null,this._collectorCnt=0,this._outgoingEvents=[]}emitOutgoingEvent(e){this._addOutgoingEvent(e),this._emitOutgoingEvents()}_addOutgoingEvent(e){for(let t=0,n=this._outgoingEvents.length;t<n;t++){let n=this._outgoingEvents[t].kind===e.kind?this._outgoingEvents[t].attemptToMerge(e):null;if(n){this._outgoingEvents[t]=n;return}}this._outgoingEvents.push(e)}_emitOutgoingEvents(){for(;this._outgoingEvents.length>0;){if(this._collector||this._isConsumingViewEventQueue)return;let e=this._outgoingEvents.shift();e.isNoOp()||this._onEvent.fire(e)}}addViewEventHandler(e){for(let t=0,n=this._eventHandlers.length;t<n;t++)this._eventHandlers[t]===e&&console.warn(`Detected duplicate listener in ViewEventDispatcher`,e);this._eventHandlers.push(e)}removeViewEventHandler(e){for(let t=0;t<this._eventHandlers.length;t++)if(this._eventHandlers[t]===e){this._eventHandlers.splice(t,1);break}}beginEmitViewEvents(){return this._collectorCnt++,this._collectorCnt===1&&(this._collector=new Nge),this._collector}endEmitViewEvents(){if(this._collectorCnt--,this._collectorCnt===0){let e=this._collector.outgoingEvents,t=this._collector.viewEvents;this._collector=null;for(let t of e)this._addOutgoingEvent(t);t.length>0&&this._emitMany(t)}this._emitOutgoingEvents()}emitSingleViewEvent(e){try{this.beginEmitViewEvents().emitViewEvent(e)}finally{this.endEmitViewEvents()}}_emitMany(e){this._viewEventQueue=this._viewEventQueue?this._viewEventQueue.concat(e):e,this._isConsumingViewEventQueue||this._consumeViewEventQueue()}_consumeViewEventQueue(){try{this._isConsumingViewEventQueue=!0,this._doConsumeQueue()}finally{this._isConsumingViewEventQueue=!1}}_doConsumeQueue(){for(;this._viewEventQueue;){let e=this._viewEventQueue;this._viewEventQueue=null;let t=this._eventHandlers.slice(0);for(let n of t)n.handleEvents(e)}}},Nge=class{constructor(){this.viewEvents=[],this.outgoingEvents=[]}emitViewEvent(e){this.viewEvents.push(e)}emitOutgoingEvent(e){this.outgoingEvents.push(e)}},_D=class e{constructor(e,t,n,r){this.kind=0,this._oldContentWidth=e,this._oldContentHeight=t,this.contentWidth=n,this.contentHeight=r,this.contentWidthChanged=this._oldContentWidth!==this.contentWidth,this.contentHeightChanged=this._oldContentHeight!==this.contentHeight}isNoOp(){return!this.contentWidthChanged&&!this.contentHeightChanged}attemptToMerge(t){return t.kind===this.kind?new e(this._oldContentWidth,this._oldContentHeight,t.contentWidth,t.contentHeight):null}},vD=class e{constructor(e,t){this.kind=1,this.oldHasFocus=e,this.hasFocus=t}isNoOp(){return this.oldHasFocus===this.hasFocus}attemptToMerge(t){return t.kind===this.kind?new e(this.oldHasFocus,t.hasFocus):null}},Pge=class{constructor(e,t){this.kind=2,this.oldHasFocus=e,this.hasFocus=t}isNoOp(){return this.oldHasFocus===this.hasFocus}attemptToMerge(e){return e.kind===this.kind?new vD(this.oldHasFocus,e.hasFocus):null}},Fge=class e{constructor(e,t,n,r,i,a,o,s){this.kind=3,this._oldScrollWidth=e,this._oldScrollLeft=t,this._oldScrollHeight=n,this._oldScrollTop=r,this.scrollWidth=i,this.scrollLeft=a,this.scrollHeight=o,this.scrollTop=s,this.scrollWidthChanged=this._oldScrollWidth!==this.scrollWidth,this.scrollLeftChanged=this._oldScrollLeft!==this.scrollLeft,this.scrollHeightChanged=this._oldScrollHeight!==this.scrollHeight,this.scrollTopChanged=this._oldScrollTop!==this.scrollTop}isNoOp(){return!this.scrollWidthChanged&&!this.scrollLeftChanged&&!this.scrollHeightChanged&&!this.scrollTopChanged}attemptToMerge(t){return t.kind===this.kind?new e(this._oldScrollWidth,this._oldScrollLeft,this._oldScrollHeight,this._oldScrollTop,t.scrollWidth,t.scrollLeft,t.scrollHeight,t.scrollTop):null}},Ige=class{constructor(){this.kind=4}isNoOp(){return!1}attemptToMerge(e){return e.kind===this.kind?this:null}},Lge=class{constructor(){this.kind=5}isNoOp(){return!1}attemptToMerge(e){return e.kind===this.kind?this:null}},Rge=class e{constructor(e,t,n,r,i,a,o){this.kind=7,this.oldSelections=e,this.selections=t,this.oldModelVersionId=n,this.modelVersionId=r,this.source=i,this.reason=a,this.reachedMaxCursorCount=o}static _selectionsAreEqual(e,t){if(!e&&!t)return!0;if(!e||!t)return!1;let n=e.length;if(n!==t.length)return!1;for(let r=0;r<n;r++)if(!e[r].equalsSelection(t[r]))return!1;return!0}isNoOp(){return e._selectionsAreEqual(this.oldSelections,this.selections)&&this.oldModelVersionId===this.modelVersionId}attemptToMerge(t){return t.kind===this.kind?new e(this.oldSelections,t.selections,this.oldModelVersionId,t.modelVersionId,t.source,t.reason,this.reachedMaxCursorCount||t.reachedMaxCursorCount):null}},zge=class{constructor(){this.kind=6}isNoOp(){return!1}attemptToMerge(e){return e.kind===this.kind?this:null}},Bge=class{constructor(e){this.event=e,this.kind=8}isNoOp(){return!1}attemptToMerge(e){return null}},Vge=class{constructor(e){this.event=e,this.kind=9}isNoOp(){return!1}attemptToMerge(e){return null}},Hge=class{constructor(e){this.event=e,this.kind=10}isNoOp(){return!1}attemptToMerge(e){return null}},Uge=class{constructor(e){this.event=e,this.kind=11}isNoOp(){return!1}attemptToMerge(e){return null}},Wge=class{constructor(e){this.event=e,this.kind=12}isNoOp(){return!1}attemptToMerge(e){return null}},Gge=class{constructor(e){this.event=e,this.kind=13}isNoOp(){return!1}attemptToMerge(e){return null}},Kge=class{constructor(e){this.event=e,this.kind=14}isNoOp(){return!1}attemptToMerge(e){return null}},qge=class{constructor(e){this.event=e,this.kind=15}isNoOp(){return!1}attemptToMerge(e){return null}},Jge=class extends O{constructor(e,t,n,r){super(),this._model=e,this._knownModelVersionId=this._model.getVersionId(),this._viewModel=t,this._coordinatesConverter=n,this.context=new lD(this._model,this._viewModel,this._coordinatesConverter,r),this._cursors=new cD(this.context),this._hasFocus=!1,this._isHandling=!1,this._compositionState=null,this._columnSelectData=null,this._autoClosedActions=[],this._prevEditOperationType=0}dispose(){this._cursors.dispose(),this._autoClosedActions=Hn(this._autoClosedActions),super.dispose()}updateConfiguration(e){this.context=new lD(this._model,this._viewModel,this._coordinatesConverter,e),this._cursors.updateContext(this.context)}onLineMappingChanged(e){this._knownModelVersionId===this._model.getVersionId()&&this.setStates(e,`viewModel`,0,this.getCursorStates())}setHasFocus(e){this._hasFocus=e}_validateAutoClosedActions(){if(this._autoClosedActions.length>0){let e=this._cursors.getSelections();for(let t=0;t<this._autoClosedActions.length;t++){let n=this._autoClosedActions[t];n.isValid(e)||(n.dispose(),this._autoClosedActions.splice(t,1),t--)}}}getPrimaryCursorState(){return this._cursors.getPrimaryCursor()}getLastAddedCursorIndex(){return this._cursors.getLastAddedCursorIndex()}getCursorStates(){return this._cursors.getAll()}setStates(e,t,n,r){let i=!1,a=this.context.cursorConfig.multiCursorLimit;r!==null&&r.length>a&&(r=r.slice(0,a),i=!0);let o=yD.from(this._model,this);return this._cursors.setStates(r),this._cursors.normalize(),this._columnSelectData=null,this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(e,t,n,o,i)}setCursorColumnSelectData(e){this._columnSelectData=e}revealAll(e,t,n,r,i,a){let o=this._cursors.getViewPositions(),s=null,c=null;o.length>1?c=this._cursors.getViewSelections():s=N.fromPositions(o[0],o[0]),e.emitViewEvent(new gD(t,n,s,c,r,i,a))}revealPrimary(e,t,n,r,i,a){let o=[this._cursors.getPrimaryCursor().viewState.selection];e.emitViewEvent(new gD(t,n,null,o,r,i,a))}saveState(){let e=[],t=this._cursors.getSelections();for(let n=0,r=t.length;n<r;n++){let r=t[n];e.push({inSelectionMode:!r.isEmpty(),selectionStart:{lineNumber:r.selectionStartLineNumber,column:r.selectionStartColumn},position:{lineNumber:r.positionLineNumber,column:r.positionColumn}})}return e}restoreState(e,t){let n=[];for(let e=0,r=t.length;e<r;e++){let r=t[e],i=1,a=1;r.position&&r.position.lineNumber&&(i=r.position.lineNumber),r.position&&r.position.column&&(a=r.position.column);let o=i,s=a;r.selectionStart&&r.selectionStart.lineNumber&&(o=r.selectionStart.lineNumber),r.selectionStart&&r.selectionStart.column&&(s=r.selectionStart.column),n.push({selectionStartLineNumber:o,selectionStartColumn:s,positionLineNumber:i,positionColumn:a})}this.setStates(e,`restoreState`,0,xb.fromModelSelections(n)),this.revealAll(e,`restoreState`,!1,0,!0,1)}onModelContentChanged(e,t){if(t instanceof YC){if(this._isHandling)return;this._isHandling=!0;try{this.setStates(e,`modelChange`,0,this.getCursorStates())}finally{this._isHandling=!1}}else{let n=t.rawContentChangedEvent;if(this._knownModelVersionId=n.versionId,this._isHandling)return;let r=n.containsEvent(1);if(this._prevEditOperationType=0,r)this._cursors.dispose(),this._cursors=new cD(this.context),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(e,`model`,1,null,!1);else if(this._hasFocus&&n.resultingSelection&&n.resultingSelection.length>0){let t=xb.fromModelSelections(n.resultingSelection);this.setStates(e,`modelChange`,n.isUndoing?5:n.isRedoing?6:2,t)&&this.revealAll(e,`modelChange`,!1,0,!0,0)}else{let t=this._cursors.readSelectionFromMarkers();this.setStates(e,`modelChange`,2,xb.fromModelSelections(t))}}}getSelection(){return this._cursors.getPrimaryCursor().modelState.selection}getTopMostViewPosition(){return this._cursors.getTopMostViewPosition()}getBottomMostViewPosition(){return this._cursors.getBottomMostViewPosition()}getCursorColumnSelectData(){if(this._columnSelectData)return this._columnSelectData;let e=this._cursors.getPrimaryCursor(),t=e.viewState.selectionStart.getStartPosition(),n=e.viewState.position;return{isReal:!1,fromViewLineNumber:t.lineNumber,fromViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,t),toViewLineNumber:n.lineNumber,toViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,n)}}getSelections(){return this._cursors.getSelections()}setSelections(e,t,n,r){this.setStates(e,t,r,xb.fromModelSelections(n))}getPrevEditOperationType(){return this._prevEditOperationType}setPrevEditOperationType(e){this._prevEditOperationType=e}_pushAutoClosedAction(e,t){let n=[],r=[];for(let i=0,a=e.length;i<a;i++)n.push({range:e[i],options:{description:`auto-closed-character`,inlineClassName:`auto-closed-character`,stickiness:1}}),r.push({range:t[i],options:{description:`auto-closed-enclosing`,stickiness:1}});let i=this._model.deltaDecorations([],n),a=this._model.deltaDecorations([],r);this._autoClosedActions.push(new bD(this._model,i,a))}_executeEditOperation(e,t){if(!e)return;e.shouldPushStackElementBefore&&this._model.pushStackElement();let n=Yge.executeCommands(this._model,this._cursors.getSelections(),e.commands,t);if(n){this._interpretCommandResult(n);let t=[],r=[];for(let n=0;n<e.commands.length;n++){let i=e.commands[n];i instanceof tx&&i.enclosingRange&&i.closeCharacterRange&&(t.push(i.closeCharacterRange),r.push(i.enclosingRange))}t.length>0&&this._pushAutoClosedAction(t,r),this._prevEditOperationType=e.type}e.shouldPushStackElementAfter&&this._model.pushStackElement()}_interpretCommandResult(e){(!e||e.length===0)&&(e=this._cursors.readSelectionFromMarkers()),this._columnSelectData=null,this._cursors.setSelections(e),this._cursors.normalize()}_emitStateChangedIfNecessary(e,t,n,r,i){let a=yD.from(this._model,this);if(a.equals(r))return!1;let o=this._cursors.getSelections(),s=this._cursors.getViewSelections();if(e.emitViewEvent(new wge(s,o,n)),!r||r.cursorState.length!==a.cursorState.length||a.cursorState.some((e,t)=>!e.modelState.equals(r.cursorState[t].modelState))){let s=r?r.cursorState.map(e=>e.modelState.selection):null,c=r?r.modelVersionId:0;e.emitOutgoingEvent(new Rge(s,o,c,a.modelVersionId,t||`keyboard`,n,i))}return!0}_findAutoClosingPairs(e){if(!e.length)return null;let t=[];for(let n=0,r=e.length;n<r;n++){let r=e[n];if(!r.text||r.text.indexOf(`
274
- `)>=0)return null;let i=r.text.match(/([)\]}>'"`])([^)\]}>'"`]*)$/);if(!i)return null;let a=i[1],o=this.context.cursorConfig.autoClosingPairs.autoClosingPairsCloseSingleChar.get(a);if(!o||o.length!==1)return null;let s=o[0].open,c=r.text.length-i[2].length-1,l=r.text.lastIndexOf(s,c-1);if(l===-1)return null;t.push([l,c])}return t}executeEdits(e,t,n,r,i){let a=null;t===`snippet`&&(a=this._findAutoClosingPairs(n)),a&&(n[0]._isTracked=!0);let o=[],s=[],c=this._model.pushEditOperations(this.getSelections(),n,e=>{if(a)for(let t=0,n=a.length;t<n;t++){let[n,r]=a[t],i=e[t],c=i.range.startLineNumber,l=i.range.startColumn-1+n,u=i.range.startColumn-1+r;o.push(new N(c,u+1,c,u+2)),s.push(new N(c,l+1,c,u+2))}let t=r(e);return t&&(this._isHandling=!0),t},void 0,i);c&&(this._isHandling=!1,this.setSelections(e,t,c,0)),o.length>0&&this._pushAutoClosedAction(o,s)}_executeEdit(e,t,n,r=0){if(this.context.cursorConfig.readOnly)return;let i=yD.from(this._model,this);this._cursors.stopTrackingSelections(),this._isHandling=!0;try{this._cursors.ensureValidState(),e()}catch(e){Et(e)}this._isHandling=!1,this._cursors.startTrackingSelections(),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(t,n,r,i,!1)&&this.revealAll(t,n,!1,0,!0,0)}getAutoClosedCharacters(){return bD.getAllAutoClosedCharacters(this._autoClosedActions)}startComposition(e){this._compositionState=new Zge(this._model,this.getSelections())}endComposition(e,t){let n=dw.cursor({kind:`compositionEnd`,detailedSource:t}),r=this._compositionState?this._compositionState.deduceOutcome(this._model,this.getSelections()):null;this._compositionState=null,this._executeEdit(()=>{t===`keyboard`&&this._executeEditOperation(dx.compositionEndWithInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,r,this.getSelections(),this.getAutoClosedCharacters()),n)},e,t)}type(e,t,n){let r=dw.cursor({kind:`type`,detailedSource:n});this._executeEdit(()=>{if(n===`keyboard`){let e=t.length,n=0;for(;n<e;){let e=Bo(t,n),i=t.substr(n,e);this._executeEditOperation(dx.typeWithInterceptors(!!this._compositionState,this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),this.getAutoClosedCharacters(),i),r),n+=e}}else this._executeEditOperation(dx.typeWithoutInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),t),r)},e,n)}compositionType(e,t,n,r,i,a){let o=dw.cursor({kind:`compositionType`,detailedSource:a});if(t.length===0&&n===0&&r===0){if(i!==0){let t=this.getSelections().map(e=>{let t=e.getPosition();return new P(t.lineNumber,t.column+i,t.lineNumber,t.column+i)});this.setSelections(e,a,t,0)}return}this._executeEdit(()=>{this._executeEditOperation(dx.compositionType(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),t,n,r,i),o)},e,a)}paste(e,t,n,r,i){let a=dw.cursor({kind:`paste`,detailedSource:i});this._executeEdit(()=>{this._executeEditOperation(dx.paste(this.context.cursorConfig,this._model,this.getSelections(),t,n,r||[]),a)},e,i,4)}cut(e,t){let n=dw.cursor({kind:`cut`,detailedSource:t});this._executeEdit(()=>{this._executeEditOperation(Pb.cut(this.context.cursorConfig,this._model,this.getSelections()),n)},e,t)}executeCommand(e,t,n){let r=dw.cursor({kind:`executeCommand`,detailedSource:n});this._executeEdit(()=>{this._cursors.killSecondaryCursors(),this._executeEditOperation(new Cb(0,[t],{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}),r)},e,n)}executeCommands(e,t,n){let r=dw.cursor({kind:`executeCommands`,detailedSource:n});this._executeEdit(()=>{this._executeEditOperation(new Cb(0,t,{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}),r)},e,n)}},yD=class e{static from(t,n){return new e(t.getVersionId(),n.getCursorStates())}constructor(e,t){this.modelVersionId=e,this.cursorState=t}equals(e){if(!e||this.modelVersionId!==e.modelVersionId||this.cursorState.length!==e.cursorState.length)return!1;for(let t=0,n=this.cursorState.length;t<n;t++)if(!this.cursorState[t].equals(e.cursorState[t]))return!1;return!0}},bD=class{static getAllAutoClosedCharacters(e){let t=[];for(let n of e)t=t.concat(n.getAutoClosedCharactersRanges());return t}constructor(e,t,n){this._model=e,this._autoClosedCharactersDecorations=t,this._autoClosedEnclosingDecorations=n}dispose(){this._autoClosedCharactersDecorations=this._model.deltaDecorations(this._autoClosedCharactersDecorations,[]),this._autoClosedEnclosingDecorations=this._model.deltaDecorations(this._autoClosedEnclosingDecorations,[])}getAutoClosedCharactersRanges(){let e=[];for(let t=0;t<this._autoClosedCharactersDecorations.length;t++){let n=this._model.getDecorationRange(this._autoClosedCharactersDecorations[t]);n&&e.push(n)}return e}isValid(e){let t=[];for(let e=0;e<this._autoClosedEnclosingDecorations.length;e++){let n=this._model.getDecorationRange(this._autoClosedEnclosingDecorations[e]);if(n&&(t.push(n),n.startLineNumber!==n.endLineNumber))return!1}t.sort(N.compareRangesUsingStarts),e.sort(N.compareRangesUsingStarts);for(let n=0;n<e.length;n++)if(n>=t.length||!t[n].strictContainsRange(e[n]))return!1;return!0}},Yge=class{static executeCommands(e,t,n,r=dw.unknown({name:`executeCommands`})){let i={model:e,selectionsBefore:t,trackedRanges:[],trackedRangesDirection:[]},a=this._innerExecuteCommands(i,n,r);for(let e=0,t=i.trackedRanges.length;e<t;e++)i.model._setTrackedRange(i.trackedRanges[e],null,0);return a}static _innerExecuteCommands(e,t,n){if(this._arrayIsEmpty(t))return null;let r=this._getEditOperations(e,t);if(r.operations.length===0)return null;let i=r.operations,a=this._getLoserCursorMap(i);if(a.hasOwnProperty(`0`))return console.warn(`Ignoring commands`),null;let o=[];for(let e=0,t=i.length;e<t;e++)a.hasOwnProperty(i[e].identifier.major.toString())||o.push(i[e]);r.hadTrackedEditOperation&&o.length>0&&(o[0]._isTracked=!0);let s=e.model.pushEditOperations(e.selectionsBefore,o,n=>{let r=[];for(let t=0;t<e.selectionsBefore.length;t++)r[t]=[];for(let e of n)e.identifier&&r[e.identifier.major].push(e);let i=(e,t)=>e.identifier.minor-t.identifier.minor,a=[];for(let n=0;n<e.selectionsBefore.length;n++)r[n].length>0?(r[n].sort(i),a[n]=t[n].computeCursorState(e.model,{getInverseEditOperations:()=>r[n],getTrackedSelection:t=>{let n=parseInt(t,10),r=e.model._getTrackedRange(e.trackedRanges[n]);return e.trackedRangesDirection[n]===0?new P(r.startLineNumber,r.startColumn,r.endLineNumber,r.endColumn):new P(r.endLineNumber,r.endColumn,r.startLineNumber,r.startColumn)}})):a[n]=e.selectionsBefore[n];return a},void 0,n);s||=e.selectionsBefore;let c=[];for(let e in a)a.hasOwnProperty(e)&&c.push(parseInt(e,10));c.sort((e,t)=>t-e);for(let e of c)s.splice(e,1);return s}static _arrayIsEmpty(e){for(let t=0,n=e.length;t<n;t++)if(e[t])return!1;return!0}static _getEditOperations(e,t){let n=[],r=!1;for(let i=0,a=t.length;i<a;i++){let a=t[i];if(a){let t=this._getEditOperationsFromCommand(e,i,a);n=n.concat(t.operations),r||=t.hadTrackedEditOperation}}return{operations:n,hadTrackedEditOperation:r}}static _getEditOperationsFromCommand(e,t,n){let r=[],i=0,a=(e,a,o=!1)=>{N.isEmpty(e)&&a===``||r.push({identifier:{major:t,minor:i++},range:e,text:a,forceMoveMarkers:o,isAutoWhitespaceEdit:n.insertsAutoWhitespace})},o=!1,s={addEditOperation:a,addTrackedEditOperation:(e,t,n)=>{o=!0,a(e,t,n)},trackSelection:(t,n)=>{let r=P.liftSelection(t),i;if(r.isEmpty()){if(typeof n==`boolean`)i=n?2:3;else{let t=e.model.getLineMaxColumn(r.startLineNumber);i=r.startColumn===t?2:3}}else i=1;let a=e.trackedRanges.length,o=e.model._setTrackedRange(null,r,i);return e.trackedRanges[a]=o,e.trackedRangesDirection[a]=r.getDirection(),a.toString()}};try{n.getEditOperations(e.model,s)}catch(e){return Et(e),{operations:[],hadTrackedEditOperation:!1}}return{operations:r,hadTrackedEditOperation:o}}static _getLoserCursorMap(e){e=e.slice(0),e.sort((e,t)=>-N.compareRangesUsingEnds(e.range,t.range));let t={};for(let n=1;n<e.length;n++){let r=e[n-1],i=e[n];if(N.getStartPosition(r.range).isBefore(N.getEndPosition(i.range))){let a;a=r.identifier.major>i.identifier.major?r.identifier.major:i.identifier.major,t[a.toString()]=!0;for(let t=0;t<e.length;t++)e[t].identifier.major===a&&(e.splice(t,1),t<n&&n--,t--);n>0&&n--}}return t}},Xge=class{constructor(e,t,n,r){this.text=e,this.lineNumber=t,this.startSelectionOffset=n,this.endSelectionOffset=r}},Zge=class e{static _capture(e,t){let n=[];for(let r of t){if(r.startLineNumber!==r.endLineNumber)return null;let t=r.startLineNumber;n.push(new Xge(e.getLineContent(t),t,r.startColumn-1,r.endColumn-1))}return n}constructor(t,n){this._original=e._capture(t,n)}deduceOutcome(t,n){if(!this._original)return null;let r=e._capture(t,n);if(!r||this._original.length!==r.length)return null;let i=[];for(let t=0,n=this._original.length;t<n;t++)i.push(e._deduceOutcome(this._original[t],r[t]));return i}static _deduceOutcome(e,t){let n=Math.min(e.startSelectionOffset,t.startSelectionOffset,Mo(e.text,t.text)),r=Math.min(e.text.length-e.endSelectionOffset,t.text.length-t.endSelectionOffset,No(e.text,t.text)),i=e.text.substring(n,e.text.length-r),a=n,o=t.text.length-r,s=t.text.substring(a,o),c=new N(t.lineNumber,a+1,t.lineNumber,o+1);return new ade(i,e.startSelectionOffset-n,e.endSelectionOffset-n,s,t.startSelectionOffset-n,t.endSelectionOffset-n,c)}},xD={getInitialState:()=>Vh,tokenizeEncoded:(e,t,n)=>Uh(0,n)};async function Qge(e,t,n){if(!n)return SD(t,e.languageIdCodec,xD);let r=await ca.getOrCreate(n);return SD(t,e.languageIdCodec,r||xD)}function $ge(e,t,n,r,i,a,o){let s=`<div>`,c=0,l=0,u=!0;for(let d=0,f=t.getCount();d<f;d++){let f=t.getEndOffset(d),p=``;for(;c<f&&c<i;c++){let t=e.charCodeAt(c),n=t===9;if(l+=qo(t)?2:+!n,c<r){if(n){let e=l%a;l+=e===0?a:a-e}continue}switch(t){case 9:{let e=l%a,t=e===0?a:a-e;l+=t;let n=t;for(;n>0;)o&&u?(p+=`&#160;`,u=!1):(p+=` `,u=!0),n--;break}case 60:p+=`&lt;`,u=!1;break;case 62:p+=`&gt;`,u=!1;break;case 38:p+=`&amp;`,u=!1;break;case 0:p+=`&#00;`,u=!1;break;case 65279:case 8232:case 8233:case 133:p+=`�`,u=!1;break;case 13:p+=`&#8203`,u=!1;break;case 32:o&&u?(p+=`&#160;`,u=!1):(p+=` `,u=!0);break;default:p+=String.fromCharCode(t),u=!1}}if(!(f<=r)&&(s+=`<span style="${t.getInlineStyle(d,n)}">${p}</span>`,f>i||c>=i||r>=i))break}return s+=`</div>`,s}function SD(e,t,n){let r=`<div class="monaco-tokenized-source">`,i=vo(e),a=n.getInitialState();for(let e=0,o=i.length;e<o;e++){let o=i[e];e>0&&(r+=`<br/>`);let s=n.tokenizeEncoded(o,!0,a);Kh.convertToEndOffset(s.tokens,o.length);let c=new Kh(s.tokens,o,t).inflate(),l=0;for(let e=0,t=c.getCount();e<t;e++){let t=c.getClassName(e),n=c.getEndOffset(e);r+=`<span class="${t}">${fo(o.substring(l,n))}</span>`,l=n}a=s.endState}return r+=`</div>`,r}var e_e=class{constructor(e,t,n,r,i){this.decorationId=e,this.index=t,this.lineNumber=n,this.specialHeight=r,this.prefixSum=i,this.maximumSpecialHeight=r,this.deleted=!1}},CD=class{constructor(e,t){this._decorationIDToCustomLine=new TD,this._orderedCustomLines=[],this._pendingChanges=[],this._invalidIndex=1/0,this._hasPending=!1,this._defaultLineHeight=e;for(let e of t)this.insertOrChangeCustomLineHeight(e.decorationId,e.startLineNumber,e.endLineNumber,e.lineHeight)}set defaultLineHeight(e){this._defaultLineHeight=e}get defaultLineHeight(){return this._defaultLineHeight}removeCustomLineHeight(e){this._pendingChanges.push({kind:1,decorationId:e}),this._hasPending=!0}insertOrChangeCustomLineHeight(e,t,n,r){this._pendingChanges.push({kind:0,decorationId:e,startLineNumber:t,endLineNumber:n,lineHeight:r}),this._hasPending=!0}heightForLineNumber(e){this._commit();let t=this._binarySearchOverOrderedCustomLinesArray(e);return t>=0?this._orderedCustomLines[t].maximumSpecialHeight:this._defaultLineHeight}getAccumulatedLineHeightsIncludingLineNumber(e){this._commit();let t=this._binarySearchOverOrderedCustomLinesArray(e);if(t>=0)return this._orderedCustomLines[t].prefixSum+this._orderedCustomLines[t].maximumSpecialHeight;if(t===-1)return this._defaultLineHeight*e;let n=-(t+1),r=this._orderedCustomLines[n-1];return r.prefixSum+r.maximumSpecialHeight+this._defaultLineHeight*(e-r.lineNumber)}onLinesDeleted(e,t){this._pendingChanges.push({kind:2,fromLineNumber:e,toLineNumber:t}),this._hasPending=!0}onLinesInserted(e,t){this._pendingChanges.push({kind:3,fromLineNumber:e,toLineNumber:t}),this._hasPending=!0}_commit(){if(!this._hasPending)return;let e=this._pendingChanges;this._pendingChanges=[],this._hasPending=!1;let t=[],n=new TD;for(let r of e)switch(r.kind){case 1:this._doRemoveCustomLineHeight(r.decorationId,n);break;case 0:this._doInsertOrChangeCustomLineHeight(r.decorationId,r.startLineNumber,r.endLineNumber,r.lineHeight,t,n);break;case 2:this._flushStagedDecorationChanges(t,n),this._doLinesDeleted(r.fromLineNumber,r.toLineNumber);break;case 3:this._flushStagedDecorationChanges(t,n),this._doLinesInserted(r.fromLineNumber,r.toLineNumber,t,n)}this._flushStagedDecorationChanges(t,n)}_doRemoveCustomLineHeight(e,t){let n=this._decorationIDToCustomLine.get(e);if(n){this._decorationIDToCustomLine.delete(e);for(let e of n)e.deleted=!0,this._invalidIndex=Math.min(this._invalidIndex,e.index)}let r=t.get(e);if(r){t.delete(e);for(let e of r)e.deleted=!0}}_doInsertOrChangeCustomLineHeight(e,t,n,r,i,a){this._doRemoveCustomLineHeight(e,a);for(let o=t;o<=n;o++){let t=new e_e(e,-1,o,r,0);i.push(t),a.add(e,t)}}_flushStagedDecorationChanges(e,t){if(e.length===0&&this._invalidIndex===1/0)return;for(let t of e){if(t.deleted)continue;let e=this._binarySearchOverOrderedCustomLinesArray(t.lineNumber),n=e>=0?e:-(e+1);this._orderedCustomLines.splice(n,0,t),this._invalidIndex=Math.min(this._invalidIndex,n)}if(e.length=0,t.clear(),this._invalidIndex===1/0)return;let n=new TD,r=[];for(let e=0;e<this._invalidIndex;e++){let t=this._orderedCustomLines[e];r.push(t),n.add(t.decorationId,t)}let i=0,a=this._invalidIndex>0?r[this._invalidIndex-1]:void 0;for(let e=this._invalidIndex;e<this._orderedCustomLines.length;e++){let t=this._orderedCustomLines[e];if(t.deleted){i++;continue}if(t.index=e-i,a&&a.lineNumber===t.lineNumber)t.maximumSpecialHeight=a.maximumSpecialHeight,t.prefixSum=a.prefixSum;else{let n=t.specialHeight;for(let r=e;r<this._orderedCustomLines.length;r++){let e=this._orderedCustomLines[r];if(!e.deleted){if(e.lineNumber!==t.lineNumber)break;n=Math.max(n,e.specialHeight)}}t.maximumSpecialHeight=n;let r;r=a?a.prefixSum+a.maximumSpecialHeight+this._defaultLineHeight*(t.lineNumber-a.lineNumber-1):this._defaultLineHeight*(t.lineNumber-1),t.prefixSum=r}a=t,r.push(t),n.add(t.decorationId,t)}this._orderedCustomLines=r,this._decorationIDToCustomLine=n,this._invalidIndex=1/0}_doLinesDeleted(e,t){let n=t-e+1,r=this._orderedCustomLines.length,i=this._binarySearchOverOrderedCustomLinesArray(e),a;if(i>=0){a=i;for(let t=i-1;t>=0&&this._orderedCustomLines[t].lineNumber===e;t--)a--}else a=i===-(r+1)&&i!==-1?r-1:-(i+1);let o=this._binarySearchOverOrderedCustomLinesArray(t),s;if(o>=0){s=o;for(let e=o+1;e<r&&this._orderedCustomLines[e].lineNumber===t;e++)s++}else s=o===-(r+1)&&o!==-1?r-1:-(o+1);let c=s>a,l=s===a&&this._orderedCustomLines[a]&&this._orderedCustomLines[a].lineNumber>=e&&this._orderedCustomLines[a].lineNumber<=t;if(c||l){let r=0;for(let e=a;e<=s;e++)r=Math.max(r,this._orderedCustomLines[e].maximumSpecialHeight);let i=0;if(a>0){let t=this._orderedCustomLines[a-1];i=t.prefixSum+t.maximumSpecialHeight+this._defaultLineHeight*(e-t.lineNumber-1)}else i=e>0?(e-1)*this._defaultLineHeight:0;let o=this._orderedCustomLines[a],c=this._orderedCustomLines[s],l=this._orderedCustomLines[s+1],u=l&&l.lineNumber===t+1?l.maximumSpecialHeight:this._defaultLineHeight,d=c.prefixSum+c.maximumSpecialHeight-o.prefixSum+this._defaultLineHeight*(t-c.lineNumber)+this._defaultLineHeight*(o.lineNumber-e)+u-r,f=new Set,p=[],m=new TD,h=0;for(let t=0;t<this._orderedCustomLines.length;t++){let o=this._orderedCustomLines[t];if(t<a)p.push(o),m.add(o.decorationId,o);else if(t>=a&&t<=s){let t=o.decorationId;f.has(t)?h++:(o.index-=h,o.lineNumber=e,o.prefixSum=i,o.maximumSpecialHeight=r,p.push(o),m.add(o.decorationId,o))}else t>s&&(o.index-=h,o.lineNumber-=n,o.prefixSum-=d,p.push(o),m.add(o.decorationId,o));f.add(o.decorationId)}this._orderedCustomLines=p,this._decorationIDToCustomLine=m}else{let e=n*this._defaultLineHeight;for(let r=s;r<this._orderedCustomLines.length;r++){let i=this._orderedCustomLines[r];i.lineNumber>t&&(i.lineNumber-=n,i.prefixSum-=e)}}}_doLinesInserted(e,t,n,r){let i=t-e+1,a=this._binarySearchOverOrderedCustomLinesArray(e),o;if(a>=0){o=a;for(let t=a-1;t>=0&&this._orderedCustomLines[t].lineNumber===e;t--)o--}else o=-(a+1);let s=[],c=new Set;for(let t=o;t<this._orderedCustomLines.length;t++)this._orderedCustomLines[t].lineNumber===e&&c.add(this._orderedCustomLines[t].decorationId);let l=new Set;for(let t=o-1;t>=0;t--)this._orderedCustomLines[t].lineNumber===e-1&&l.add(this._orderedCustomLines[t].decorationId);let u=rw(l,c),d=i*this._defaultLineHeight;for(let e=o;e<this._orderedCustomLines.length;e++)this._orderedCustomLines[e].lineNumber+=i,this._orderedCustomLines[e].prefixSum+=d;if(u.size>0){for(let t of u){let n=this._decorationIDToCustomLine.get(t);if(n){let r=n.reduce((e,t)=>Math.min(e,t.lineNumber),e),i=n.reduce((e,t)=>Math.max(e,t.lineNumber),e),a=n.reduce((e,t)=>Math.max(e,t.specialHeight),0);s.push({decorationId:t,startLineNumber:r,endLineNumber:i,lineHeight:a})}}for(let e of s)this._doInsertOrChangeCustomLineHeight(e.decorationId,e.startLineNumber,e.endLineNumber,e.lineHeight,n,r)}}_binarySearchOverOrderedCustomLinesArray(e){return Ke(this._orderedCustomLines.length,t=>{let n=this._orderedCustomLines[t];return n.lineNumber===e?0:n.lineNumber<e?-1:1})}},wD=class e{constructor(e,t,n,r){this.decorationId=e,this.startLineNumber=t,this.endLineNumber=n,this.lineHeight=r}static fromDecorations(t,n,r){let i=r.options.get(75);return t.map(t=>{let r=n.convertModelRangeToViewRange(t.range);return new e(t.id,r.startLineNumber,r.endLineNumber,t.options.lineHeight?t.options.lineHeight*i:0)})}},TD=class{constructor(){this._map=new Map}add(e,t){let n=this._map.get(e);n?n.push(t):this._map.set(e,[t])}get(e){return this._map.get(e)}delete(e){this._map.delete(e)}clear(){this._map.clear()}},t_e=class{constructor(){this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[]}insert(e){this._hasPending=!0,this._inserts.push(e)}change(e){this._hasPending=!0,this._changes.push(e)}remove(e){this._hasPending=!0,this._removes.push(e)}commit(e){if(!this._hasPending)return;let t=this._inserts,n=this._changes,r=this._removes;this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[],e._commitPendingChanges(t,n,r)}},n_e=class{constructor(e,t,n,r,i){this.id=e,this.afterLineNumber=t,this.ordinal=n,this.height=r,this.minWidth=i,this.prefixSum=0}},r_e=class e{static{this.INSTANCE_COUNT=0}constructor(t,n,r,i,a){this._instanceId=Xo(++e.INSTANCE_COUNT),this._pendingChanges=new t_e,this._lastWhitespaceId=0,this._arr=[],this._prefixSumValidIndex=-1,this._minWidth=-1,this._lineCount=t,this._paddingTop=r,this._paddingBottom=i,this._lineHeightsManager=new CD(n,a)}static findInsertionIndex(e,t,n){let r=0,i=e.length;for(;r<i;){let a=r+i>>>1;t===e[a].afterLineNumber?n<e[a].ordinal?i=a:r=a+1:t<e[a].afterLineNumber?i=a:r=a+1}return r}setDefaultLineHeight(e){this._lineHeightsManager.defaultLineHeight=e}setPadding(e,t){this._paddingTop=e,this._paddingBottom=t}onFlushed(e,t){this._lineCount=e,this._lineHeightsManager=new CD(this._lineHeightsManager.defaultLineHeight,t)}changeLineHeights(e){let t=!1;return e({insertOrChangeCustomLineHeight:(e,n,r,i)=>{t=!0,this._lineHeightsManager.insertOrChangeCustomLineHeight(e,n,r,i)},removeCustomLineHeight:e=>{t=!0,this._lineHeightsManager.removeCustomLineHeight(e)}}),t}changeWhitespace(e){let t=!1;try{e({insertWhitespace:(e,n,r,i)=>{t=!0,e|=0,n|=0,r|=0,i|=0;let a=this._instanceId+ ++this._lastWhitespaceId;return this._pendingChanges.insert(new n_e(a,e,n,r,i)),a},changeOneWhitespace:(e,n,r)=>{t=!0,n|=0,r|=0,this._pendingChanges.change({id:e,newAfterLineNumber:n,newHeight:r})},removeWhitespace:e=>{t=!0,this._pendingChanges.remove({id:e})}})}finally{this._pendingChanges.commit(this)}return t}_commitPendingChanges(e,t,n){if((e.length>0||n.length>0)&&(this._minWidth=-1),e.length+t.length+n.length<=1){for(let t of e)this._insertWhitespace(t);for(let e of t)this._changeOneWhitespace(e.id,e.newAfterLineNumber,e.newHeight);for(let e of n){let t=this._findWhitespaceIndex(e.id);t!==-1&&this._removeWhitespace(t)}return}let r=new Set;for(let e of n)r.add(e.id);let i=new Map;for(let e of t)i.set(e.id,e);let a=e=>{let t=[];for(let n of e)if(!r.has(n.id)){if(i.has(n.id)){let e=i.get(n.id);n.afterLineNumber=e.newAfterLineNumber,n.height=e.newHeight}t.push(n)}return t},o=a(this._arr).concat(a(e));o.sort((e,t)=>e.afterLineNumber===t.afterLineNumber?e.ordinal-t.ordinal:e.afterLineNumber-t.afterLineNumber),this._arr=o,this._prefixSumValidIndex=-1}_insertWhitespace(t){let n=e.findInsertionIndex(this._arr,t.afterLineNumber,t.ordinal);this._arr.splice(n,0,t),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,n-1)}_findWhitespaceIndex(e){let t=this._arr;for(let n=0,r=t.length;n<r;n++)if(t[n].id===e)return n;return-1}_changeOneWhitespace(e,t,n){let r=this._findWhitespaceIndex(e);if(r!==-1&&(this._arr[r].height!==n&&(this._arr[r].height=n,this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,r-1)),this._arr[r].afterLineNumber!==t)){let e=this._arr[r];this._removeWhitespace(r),e.afterLineNumber=t,this._insertWhitespace(e)}}_removeWhitespace(e){this._arr.splice(e,1),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,e-1)}onLinesDeleted(e,t){e|=0,t|=0,this._lineCount-=t-e+1;for(let n=0,r=this._arr.length;n<r;n++){let r=this._arr[n].afterLineNumber;e<=r&&r<=t?this._arr[n].afterLineNumber=e-1:r>t&&(this._arr[n].afterLineNumber-=t-e+1)}this._lineHeightsManager.onLinesDeleted(e,t)}onLinesInserted(e,t){e|=0,t|=0,this._lineCount+=t-e+1;for(let n=0,r=this._arr.length;n<r;n++){let r=this._arr[n].afterLineNumber;e<=r&&(this._arr[n].afterLineNumber+=t-e+1)}this._lineHeightsManager.onLinesInserted(e,t)}getWhitespacesTotalHeight(){return this._arr.length===0?0:this.getWhitespacesAccumulatedHeight(this._arr.length-1)}getWhitespacesAccumulatedHeight(e){e|=0;let t=Math.max(0,this._prefixSumValidIndex+1);t===0&&(this._arr[0].prefixSum=this._arr[0].height,t++);for(let n=t;n<=e;n++)this._arr[n].prefixSum=this._arr[n-1].prefixSum+this._arr[n].height;return this._prefixSumValidIndex=Math.max(this._prefixSumValidIndex,e),this._arr[e].prefixSum}getLinesTotalHeight(){return this._lineHeightsManager.getAccumulatedLineHeightsIncludingLineNumber(this._lineCount)+this.getWhitespacesTotalHeight()+this._paddingTop+this._paddingBottom}getWhitespaceAccumulatedHeightBeforeLineNumber(e){e|=0;let t=this._findLastWhitespaceBeforeLineNumber(e);return t===-1?0:this.getWhitespacesAccumulatedHeight(t)}_findLastWhitespaceBeforeLineNumber(e){e|=0;let t=this._arr,n=0,r=t.length-1;for(;n<=r;){let i=(r-n|0)/2|0,a=n+i|0;if(t[a].afterLineNumber<e){if(a+1>=t.length||t[a+1].afterLineNumber>=e)return a;n=a+1|0}else r=a-1|0}return-1}_findFirstWhitespaceAfterLineNumber(e){e|=0;let t=this._findLastWhitespaceBeforeLineNumber(e)+1;return t<this._arr.length?t:-1}getFirstWhitespaceIndexAfterLineNumber(e){return e|=0,this._findFirstWhitespaceAfterLineNumber(e)}getVerticalOffsetForLineNumber(e,t=!1){e|=0;let n;n=e>1?this._lineHeightsManager.getAccumulatedLineHeightsIncludingLineNumber(e-1):0;let r=this.getWhitespaceAccumulatedHeightBeforeLineNumber(e-+!!t);return n+r+this._paddingTop}getLineHeightForLineNumber(e){return this._lineHeightsManager.heightForLineNumber(e)}getVerticalOffsetAfterLineNumber(e,t=!1){return e|=0,this._lineHeightsManager.getAccumulatedLineHeightsIncludingLineNumber(e)+this.getWhitespaceAccumulatedHeightBeforeLineNumber(e+ +!!t)+this._paddingTop}getWhitespaceMinWidth(){if(this._minWidth===-1){let e=0;for(let t=0,n=this._arr.length;t<n;t++)e=Math.max(e,this._arr[t].minWidth);this._minWidth=e}return this._minWidth}isAfterLines(e){return e>this.getLinesTotalHeight()}isInTopPadding(e){return this._paddingTop!==0&&e<this._paddingTop}isInBottomPadding(e){return this._paddingBottom!==0&&e>=this.getLinesTotalHeight()-this._paddingBottom}getLineNumberAtOrAfterVerticalOffset(e){if(e|=0,e<0)return 1;let t=this._lineCount|0,n=1,r=t;for(;n<r;){let t=(n+r)/2|0,i=this.getLineHeightForLineNumber(t),a=this.getVerticalOffsetForLineNumber(t)|0;if(e>=a+i)n=t+1;else if(e>=a)return t;else r=t}return n>t?t:n}getLinesViewportData(e,t){e|=0,t|=0;let n=this.getLineNumberAtOrAfterVerticalOffset(e)|0,r=this.getVerticalOffsetForLineNumber(n)|0,i=this._lineCount|0,a=this.getFirstWhitespaceIndexAfterLineNumber(n)|0,o=this.getWhitespacesCount()|0,s,c;a===-1?(a=o,c=i+1,s=0):(c=this.getAfterLineNumberForWhitespaceIndex(a)|0,s=this.getHeightForWhitespaceIndex(a)|0);let l=r,u=l,d=5e5,f=0;r>=d&&(f=Math.floor(r/d)*d,f=Math.floor(f/this._lineHeightsManager.defaultLineHeight)*this._lineHeightsManager.defaultLineHeight,u-=f);let p=[],m=e+(t-e)/2,h=-1;for(let e=n;e<=i;e++){let r=this.getLineHeightForLineNumber(e);if(h===-1){let t=l,n=l+r;(t<=m&&m<n||t>m)&&(h=e)}for(l+=r,p[e-n]=u,u+=r;c===e;)u+=s,l+=s,a++,a>=o?c=i+1:(c=this.getAfterLineNumberForWhitespaceIndex(a)|0,s=this.getHeightForWhitespaceIndex(a)|0);if(l>=t){i=e;break}}h===-1&&(h=i);let g=this.getVerticalOffsetForLineNumber(i)|0,_=n,v=i;return _<v&&r<e&&_++,_<v&&g+this.getLineHeightForLineNumber(i)>t&&v--,{bigNumbersDelta:f,startLineNumber:n,endLineNumber:i,relativeVerticalOffset:p,centeredLineNumber:h,completelyVisibleStartLineNumber:_,completelyVisibleEndLineNumber:v,lineHeight:this._lineHeightsManager.defaultLineHeight}}getVerticalOffsetForWhitespaceIndex(e){e|=0;let t=this.getAfterLineNumberForWhitespaceIndex(e),n;n=t>=1?this._lineHeightsManager.getAccumulatedLineHeightsIncludingLineNumber(t):0;let r;return r=e>0?this.getWhitespacesAccumulatedHeight(e-1):0,n+r+this._paddingTop}getWhitespaceIndexAtOrAfterVerticallOffset(e){e|=0;let t=0,n=this.getWhitespacesCount()-1;if(n<0)return-1;let r=this.getVerticalOffsetForWhitespaceIndex(n),i=this.getHeightForWhitespaceIndex(n);if(e>=r+i)return-1;for(;t<n;){let r=Math.floor((t+n)/2),i=this.getVerticalOffsetForWhitespaceIndex(r),a=this.getHeightForWhitespaceIndex(r);if(e>=i+a)t=r+1;else if(e>=i)return r;else n=r}return t}getWhitespaceAtVerticalOffset(e){e|=0;let t=this.getWhitespaceIndexAtOrAfterVerticallOffset(e);if(t<0||t>=this.getWhitespacesCount())return null;let n=this.getVerticalOffsetForWhitespaceIndex(t);if(n>e)return null;let r=this.getHeightForWhitespaceIndex(t);return{id:this.getIdForWhitespaceIndex(t),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(t),verticalOffset:n,height:r}}getWhitespaceViewportData(e,t){e|=0,t|=0;let n=this.getWhitespaceIndexAtOrAfterVerticallOffset(e),r=this.getWhitespacesCount()-1;if(n<0)return[];let i=[];for(let e=n;e<=r;e++){let n=this.getVerticalOffsetForWhitespaceIndex(e),r=this.getHeightForWhitespaceIndex(e);if(n>=t)break;i.push({id:this.getIdForWhitespaceIndex(e),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(e),verticalOffset:n,height:r})}return i}getWhitespaces(){return this._arr.slice(0)}getWhitespacesCount(){return this._arr.length}getIdForWhitespaceIndex(e){return e|=0,this._arr[e].id}getAfterLineNumberForWhitespaceIndex(e){return e|=0,this._arr[e].afterLineNumber}getHeightForWhitespaceIndex(e){return e|=0,this._arr[e].height}},i_e=125,ED=class{constructor(e,t,n,r){e|=0,t|=0,n|=0,r|=0,e<0&&(e=0),t<0&&(t=0),n<0&&(n=0),r<0&&(r=0),this.width=e,this.contentWidth=t,this.scrollWidth=Math.max(e,t),this.height=n,this.contentHeight=r,this.scrollHeight=Math.max(n,r)}equals(e){return this.width===e.width&&this.contentWidth===e.contentWidth&&this.height===e.height&&this.contentHeight===e.contentHeight}},a_e=class extends O{constructor(e,t){super(),this._onDidContentSizeChange=this._register(new A),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._dimensions=new ED(0,0,0,0),this._scrollable=this._register(new Iy({forceIntegerValues:!0,smoothScrollDuration:e,scheduleAtNextAnimationFrame:t})),this.onDidScroll=this._scrollable.onScroll}getScrollable(){return this._scrollable}setSmoothScrollDuration(e){this._scrollable.setSmoothScrollDuration(e)}validateScrollPosition(e){return this._scrollable.validateScrollPosition(e)}getScrollDimensions(){return this._dimensions}setScrollDimensions(e){if(this._dimensions.equals(e))return;let t=this._dimensions;this._dimensions=e,this._scrollable.setScrollDimensions({width:e.width,scrollWidth:e.scrollWidth,height:e.height,scrollHeight:e.scrollHeight},!0);let n=t.contentWidth!==e.contentWidth,r=t.contentHeight!==e.contentHeight;(n||r)&&this._onDidContentSizeChange.fire(new _D(t.contentWidth,t.contentHeight,e.contentWidth,e.contentHeight))}getFutureScrollPosition(){return this._scrollable.getFutureScrollPosition()}getCurrentScrollPosition(){return this._scrollable.getCurrentScrollPosition()}setScrollPositionNow(e){this._scrollable.setScrollPositionNow(e)}setScrollPositionSmooth(e){this._scrollable.setScrollPositionSmooth(e)}hasPendingScrollAnimation(){return this._scrollable.hasPendingScrollAnimation()}},o_e=class extends O{constructor(e,t,n,r){super(),this._configuration=e;let i=this._configuration.options,a=i.get(165),o=i.get(96);this._linesLayout=new r_e(t,i.get(75),o.top,o.bottom,n),this._maxLineWidth=0,this._overlayWidgetsMinWidth=0,this._scrollable=this._register(new a_e(0,r)),this._configureSmoothScrollDuration(),this._scrollable.setScrollDimensions(new ED(a.contentWidth,0,a.height,0)),this.onDidScroll=this._scrollable.onDidScroll,this.onDidContentSizeChange=this._scrollable.onDidContentSizeChange,this._updateHeight()}getScrollable(){return this._scrollable.getScrollable()}onHeightMaybeChanged(){this._updateHeight()}_configureSmoothScrollDuration(){this._scrollable.setSmoothScrollDuration(this._configuration.options.get(130)?i_e:0)}onConfigurationChanged(e){let t=this._configuration.options;if(e.hasChanged(75)&&this._linesLayout.setDefaultLineHeight(t.get(75)),e.hasChanged(96)){let e=t.get(96);this._linesLayout.setPadding(e.top,e.bottom)}if(e.hasChanged(165)){let e=t.get(165),n=e.contentWidth,r=e.height,i=this._scrollable.getScrollDimensions(),a=i.contentWidth;this._scrollable.setScrollDimensions(new ED(n,i.contentWidth,r,this._getContentHeight(n,r,a)))}else this._updateHeight();e.hasChanged(130)&&this._configureSmoothScrollDuration()}onFlushed(e,t){this._linesLayout.onFlushed(e,t)}onLinesDeleted(e,t){this._linesLayout.onLinesDeleted(e,t)}onLinesInserted(e,t){this._linesLayout.onLinesInserted(e,t)}_getHorizontalScrollbarHeight(e,t){let n=this._configuration.options.get(117);return n.horizontal===2||e>=t?0:n.horizontalScrollbarSize}_getContentHeight(e,t,n){let r=this._configuration.options,i=this._linesLayout.getLinesTotalHeight();return r.get(119)?i+=Math.max(0,t-r.get(75)-r.get(96).bottom):r.get(117).ignoreHorizontalScrollbarInContentHeight||(i+=this._getHorizontalScrollbarHeight(e,n)),i}_updateHeight(){let e=this._scrollable.getScrollDimensions(),t=e.width,n=e.height,r=e.contentWidth;this._scrollable.setScrollDimensions(new ED(t,e.contentWidth,n,this._getContentHeight(t,n,r)))}getCurrentViewport(){let e=this._scrollable.getScrollDimensions(),t=this._scrollable.getCurrentScrollPosition();return new ag(t.scrollTop,t.scrollLeft,e.width,e.height)}getFutureViewport(){let e=this._scrollable.getScrollDimensions(),t=this._scrollable.getFutureScrollPosition();return new ag(t.scrollTop,t.scrollLeft,e.width,e.height)}_computeContentWidth(){let e=this._configuration.options,t=this._maxLineWidth,n=e.get(166),r=e.get(59),i=e.get(165);if(n.isViewportWrapping){let n=e.get(81);return t>i.contentWidth+r.typicalHalfwidthCharacterWidth&&n.enabled&&n.side===`right`?t+i.verticalScrollbarWidth:t}{let n=e.get(118)*r.typicalHalfwidthCharacterWidth,a=this._linesLayout.getWhitespaceMinWidth();return Math.max(t+n+i.verticalScrollbarWidth,a,this._overlayWidgetsMinWidth)}}setMaxLineWidth(e){this._maxLineWidth=e,this._updateContentWidth()}setOverlayWidgetsMinWidth(e){this._overlayWidgetsMinWidth=e,this._updateContentWidth()}_updateContentWidth(){let e=this._scrollable.getScrollDimensions();this._scrollable.setScrollDimensions(new ED(e.width,this._computeContentWidth(),e.height,e.contentHeight)),this._updateHeight()}saveState(){let e=this._scrollable.getFutureScrollPosition(),t=e.scrollTop,n=this._linesLayout.getLineNumberAtOrAfterVerticalOffset(t);return{scrollTop:t,scrollTopWithoutViewZones:t-this._linesLayout.getWhitespaceAccumulatedHeightBeforeLineNumber(n),scrollLeft:e.scrollLeft}}changeWhitespace(e){let t=this._linesLayout.changeWhitespace(e);return t&&this.onHeightMaybeChanged(),t}changeSpecialLineHeights(e){let t=this._linesLayout.changeLineHeights(e);return t&&this.onHeightMaybeChanged(),t}getVerticalOffsetForLineNumber(e,t=!1){return this._linesLayout.getVerticalOffsetForLineNumber(e,t)}getVerticalOffsetAfterLineNumber(e,t=!1){return this._linesLayout.getVerticalOffsetAfterLineNumber(e,t)}getLineHeightForLineNumber(e){return this._linesLayout.getLineHeightForLineNumber(e)}isAfterLines(e){return this._linesLayout.isAfterLines(e)}isInTopPadding(e){return this._linesLayout.isInTopPadding(e)}isInBottomPadding(e){return this._linesLayout.isInBottomPadding(e)}getLineNumberAtVerticalOffset(e){return this._linesLayout.getLineNumberAtOrAfterVerticalOffset(e)}getWhitespaceAtVerticalOffset(e){return this._linesLayout.getWhitespaceAtVerticalOffset(e)}getLinesViewportData(){let e=this.getCurrentViewport();return this._linesLayout.getLinesViewportData(e.top,e.top+e.height)}getLinesViewportDataAtScrollTop(e){let t=this._scrollable.getScrollDimensions();return e+t.height>t.scrollHeight&&(e=t.scrollHeight-t.height),e<0&&(e=0),this._linesLayout.getLinesViewportData(e,e+t.height)}getWhitespaceViewportData(){let e=this.getCurrentViewport();return this._linesLayout.getWhitespaceViewportData(e.top,e.top+e.height)}getWhitespaces(){return this._linesLayout.getWhitespaces()}getContentWidth(){return this._scrollable.getScrollDimensions().contentWidth}getScrollWidth(){return this._scrollable.getScrollDimensions().scrollWidth}getContentHeight(){return this._scrollable.getScrollDimensions().contentHeight}getScrollHeight(){return this._scrollable.getScrollDimensions().scrollHeight}getCurrentScrollLeft(){return this._scrollable.getCurrentScrollPosition().scrollLeft}getCurrentScrollTop(){return this._scrollable.getCurrentScrollPosition().scrollTop}validateScrollPosition(e){return this._scrollable.validateScrollPosition(e)}setScrollPosition(e,t){t===1?this._scrollable.setScrollPositionNow(e):this._scrollable.setScrollPositionSmooth(e)}hasPendingScrollAnimation(){return this._scrollable.hasPendingScrollAnimation()}deltaScrollNow(e,t){let n=this._scrollable.getCurrentScrollPosition();this._scrollable.setScrollPositionNow({scrollLeft:n.scrollLeft+e,scrollTop:n.scrollTop+t})}},DD=class{constructor(e,t,n){this.range=e,this.inlineClassName=t,this.type=n}},s_e=class{constructor(e,t,n){this.context=e,this.model=t,this.coordinatesConverter=n,this._decorationsCache=Object.create(null)}getInlineDecorations(e){let t=new N(e,1,e,this.model.getLineMaxColumn(e)),n=this.coordinatesConverter.convertModelRangeToViewRange(t);return this.getDecorations(n,!1,!1).inlineDecorations}getDecorations(e,t,n){let r=this.context.getModelDecorations(e,t,n),i=e.startLineNumber,a=e.endLineNumber,o=[],s=0,c=[],l=[];for(let e=i;e<=a;e++)c[e-i]=[],l[e-i]=!1;for(let e=0,t=r.length;e<t;e++){let t=r[e],n=t.options;if(!CS(this.model,t))continue;let u=this._getOrCreateViewModelDecoration(t),d=u.range;if(o[s++]=u,n.inlineClassName){let e=new DD(d,n.inlineClassName,n.inlineClassNameAffectsLetterSpacing?3:0),t=Math.max(i,d.startLineNumber),r=Math.min(a,d.endLineNumber);for(let a=t;a<=r;a++)c[a-i].push(e),n.affectsFont&&(l[a-i]=!0)}if(n.beforeContentClassName&&i<=d.startLineNumber&&d.startLineNumber<=a){let e=new DD(new N(d.startLineNumber,d.startColumn,d.startLineNumber,d.startColumn),n.beforeContentClassName,1);c[d.startLineNumber-i].push(e),n.affectsFont&&(l[d.startLineNumber-i]=!0)}if(n.afterContentClassName&&i<=d.endLineNumber&&d.endLineNumber<=a){let e=new DD(new N(d.endLineNumber,d.endColumn,d.endLineNumber,d.endColumn),n.afterContentClassName,2);c[d.endLineNumber-i].push(e),n.affectsFont&&(l[d.endLineNumber-i]=!0)}}return{decorations:o,inlineDecorations:c,hasVariableFonts:l}}reset(){this._decorationsCache=Object.create(null)}onModelDecorationsChanged(){this.reset()}onLineMappingChanged(){this.reset()}_getOrCreateViewModelDecoration(e){let t=e.id,n=this._decorationsCache[t];if(!n){let r=e.range,i=e.options,a;if(i.isWholeLine){let e=this.coordinatesConverter.convertModelPositionToViewPosition(new M(r.startLineNumber,1),0,!1,!0),t=this.coordinatesConverter.convertModelPositionToViewPosition(new M(r.endLineNumber,this.model.getLineMaxColumn(r.endLineNumber)),1);a=new N(e.lineNumber,e.column,t.lineNumber,t.column)}else a=this.coordinatesConverter.convertModelRangeToViewRange(r,1);n=new SS(a,i),this._decorationsCache[t]=n}return n}},c_e=class{constructor(e){this.context=e}getInlineDecorations(e){let t=this.context.getInjectionOffsets(e);if(!t)return[];let n=[],r=0,i=0,a=this.context.getInjectionOptions(e),o=this.context.getBreakOffsets(e);for(let s=0;s<o.length;s++){let c=[];n[s]=c;let l=s>0?o[s-1]:0,u=o[s];for(;i<t.length;){let n=a[i].content.length,o=t[i]+r,d=o+n;if(o>u)break;if(l<d){let t=a[i];if(t.inlineClassName){let n=this.context.getWrappedTextIndentLength(e),r=s>0?n:0,i=r+Math.max(o-l,0),a=r+Math.min(d-l,u-l);if(i!==a){let n=this.context.getBaseViewLineNumber(e)+s,r=new N(n,i+1,n,a+1),o=t.inlineClassNameAffectsLetterSpacing?3:0;c.push(new DD(r,t.inlineClassName,o))}}}if(d<=u)r+=n,i++;else break}}return n}},l_e=class{constructor(e,t,n,r,i){this.editorId=e,this.configuration=n,this._linesCollection=r;let a={getModelDecorations:(e,t,n)=>this._linesCollection.getDecorationsInRange(e,this.editorId,Ur(this.configuration.options),Wr(this.configuration.options),t,n)};this._inlineDecorationsComputer=new s_e(a,t,i),this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}_clearCachedModelDecorationsResolver(){this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}dispose(){this._inlineDecorationsComputer.reset(),this._clearCachedModelDecorationsResolver()}reset(){this._inlineDecorationsComputer.reset(),this._clearCachedModelDecorationsResolver()}onModelDecorationsChanged(){this._inlineDecorationsComputer.onModelDecorationsChanged(),this._clearCachedModelDecorationsResolver()}onLineMappingChanged(){this._inlineDecorationsComputer.onLineMappingChanged(),this._clearCachedModelDecorationsResolver()}getMinimapDecorationsInRange(e){return this._inlineDecorationsComputer.getDecorations(e,!0,!1).decorations}getDecorationsViewportData(e){let t=this._cachedModelDecorationsResolver!==null;return t&&=e.equalsRange(this._cachedModelDecorationsResolverViewRange),t||(this._cachedModelDecorationsResolver=this._inlineDecorationsComputer.getDecorations(e,!1,!1),this._cachedModelDecorationsResolverViewRange=e),this._cachedModelDecorationsResolver}getDecorationsOnLine(e,t=!1,n=!1){let r=new N(e,this._linesCollection.getViewLineMinColumn(e),e,this._linesCollection.getViewLineMaxColumn(e));return this._inlineDecorationsComputer.getDecorations(r,t,n)}};function OD(e,t){return e===null?t?kD.INSTANCE:AD.INSTANCE:new u_e(e,t)}var u_e=class{constructor(e,t){this._projectionData=e,this._isVisible=t}isVisible(){return this._isVisible}setVisible(e){return this._isVisible=e,this}getProjectionData(){return this._projectionData}getViewLineCount(){return this._isVisible?this._projectionData.getOutputLineCount():0}getViewLineContent(e,t,n){this._assertVisible();let r=n>0?this._projectionData.breakOffsets[n-1]:0,i=this._projectionData.breakOffsets[n],a;if(this._projectionData.injectionOffsets!==null){let n=this._projectionData.injectionOffsets.map((e,t)=>new KC(0,0,e+1,this._projectionData.injectionOptions[t],0));a=KC.applyInjectedText(e.getLineContent(t),n).substring(r,i)}else a=e.getValueInRange({startLineNumber:t,startColumn:r+1,endLineNumber:t,endColumn:i+1});return n>0&&(a=MD(this._projectionData.wrappedTextIndentLength)+a),a}getViewLineLength(e,t,n){return this._assertVisible(),this._projectionData.getLineLength(n)}getViewLineMinColumn(e,t,n){return this._assertVisible(),this._projectionData.getMinOutputOffset(n)+1}getViewLineMaxColumn(e,t,n){return this._assertVisible(),this._projectionData.getMaxOutputOffset(n)+1}getViewLineData(e,t,n,r){let i=[];return this.getViewLinesData(e,t,n,1,r,0,[!0],i),i[0]}getViewLinesData(e,t,n,r,i,a,o,s){this._assertVisible();let c=this._projectionData,l=c.injectionOffsets,u=c.injectionOptions,d=new c_e({getInjectionOptions:()=>u,getInjectionOffsets:()=>l,getBreakOffsets:()=>c.breakOffsets,getWrappedTextIndentLength:()=>c.wrappedTextIndentLength,getBaseViewLineNumber:()=>i}).getInlineDecorations(t),f=lge(e.tokenization.getLineTokens(t),u,l);for(let e=n;e<n+r;e++){let t=a+e-n;if(!o[t]){s[t]=null;continue}s[t]=this._getViewLineData(f,d?d[e]:null,e)}}_getViewLineData(e,t,n){this._assertVisible();let r=this._projectionData,i=n>0?r.wrappedTextIndentLength:0,a=n>0?r.breakOffsets[n-1]:0,o=r.breakOffsets[n],s=e.sliceAndInflate(a,o,i),c=s.getLineContent();n>0&&(c=MD(r.wrappedTextIndentLength)+c);let l=this._projectionData.getMinOutputOffset(n)+1,u=c.length+1,d=n+1<this.getViewLineCount(),f=n===0?0:r.breakOffsetsVisibleColumn[n-1];return new og(c,d,l,u,f,s,t)}getModelColumnOfViewPosition(e,t){return this._assertVisible(),this._projectionData.translateToInputOffset(e,t-1)+1}getViewPositionOfModelPosition(e,t,n=2){return this._assertVisible(),this._projectionData.translateToOutputPosition(t-1,n).toPosition(e)}getViewLineNumberOfModelPosition(e,t){return this._assertVisible(),e+this._projectionData.translateToOutputPosition(t-1).outputLineIndex}normalizePosition(e,t,n){let r=t.lineNumber-e;return this._projectionData.normalizeOutputPosition(e,t.column-1,n).toPosition(r)}getInjectedTextAt(e,t){return this._projectionData.getInjectedText(e,t-1)}_assertVisible(){if(!this._isVisible)throw Error(`Not supported`)}},kD=class e{static{this.INSTANCE=new e}constructor(){}isVisible(){return!0}setVisible(e){return e?this:AD.INSTANCE}getProjectionData(){return null}getViewLineCount(){return 1}getViewLineContent(e,t,n){return e.getLineContent(t)}getViewLineLength(e,t,n){return e.getLineLength(t)}getViewLineMinColumn(e,t,n){return e.getLineMinColumn(t)}getViewLineMaxColumn(e,t,n){return e.getLineMaxColumn(t)}getViewLineData(e,t,n,r){let i=e.tokenization.getLineTokens(t),a=i.getLineContent();return new og(a,!1,1,a.length+1,0,i.inflate(),null)}getViewLinesData(e,t,n,r,i,a,o,s){if(!o[a]){s[a]=null;return}s[a]=this.getViewLineData(e,t,0,i)}getModelColumnOfViewPosition(e,t){return t}getViewPositionOfModelPosition(e,t){return new M(e,t)}getViewLineNumberOfModelPosition(e,t){return e}normalizePosition(e,t,n){return t}getInjectedTextAt(e,t){return null}},AD=class e{static{this.INSTANCE=new e}constructor(){}isVisible(){return!1}setVisible(e){return e?kD.INSTANCE:this}getProjectionData(){return null}getViewLineCount(){return 0}getViewLineContent(e,t,n){throw Error(`Not supported`)}getViewLineLength(e,t,n){throw Error(`Not supported`)}getViewLineMinColumn(e,t,n){throw Error(`Not supported`)}getViewLineMaxColumn(e,t,n){throw Error(`Not supported`)}getViewLineData(e,t,n,r){throw Error(`Not supported`)}getViewLinesData(e,t,n,r,i,a,o,s){throw Error(`Not supported`)}getModelColumnOfViewPosition(e,t){throw Error(`Not supported`)}getViewPositionOfModelPosition(e,t){throw Error(`Not supported`)}getViewLineNumberOfModelPosition(e,t){throw Error(`Not supported`)}normalizePosition(e,t,n){throw Error(`Not supported`)}getInjectedTextAt(e,t){throw Error(`Not supported`)}},jD=[``];function MD(e){if(e>=jD.length)for(let t=1;t<=e;t++)jD[t]=d_e(t);return jD[e]}function d_e(e){return Array(e+1).join(` `)}var f_e=class{constructor(e){this._model=e}_validPosition(e){return this._model.validatePosition(e)}_validRange(e){return this._model.validateRange(e)}convertViewPositionToModelPosition(e){return this._validPosition(e)}convertViewRangeToModelRange(e){return this._validRange(e)}validateViewPosition(e,t){return this._validPosition(t)}validateViewRange(e,t){return this._validRange(t)}convertModelPositionToViewPosition(e){return this._validPosition(e)}convertModelRangeToViewRange(e){return this._validRange(e)}modelPositionIsVisible(e){let t=this._model.getLineCount();return!(e.lineNumber<1||e.lineNumber>t)}getModelLineViewLineCount(e){return 1}getViewLineNumberOfModelPosition(e,t){return e}},p_e=class{constructor(e,t,n,r,i,a,o,s,c,l,u){this._editorId=e,this.model=t,this._validModelVersionId=-1,this._domLineBreaksComputerFactory=n,this._monospaceLineBreaksComputerFactory=r,this.fontInfo=i,this.tabSize=a,this.wrappingStrategy=o,this.wrappingColumn=s,this.wrappingIndent=c,this.wordBreak=l,this.wrapOnEscapedLineFeeds=u,this._constructLines(!0,null)}dispose(){this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[])}createCoordinatesConverter(){return new h_e(this)}_constructLines(e,t){this.modelLineProjections=[],e&&(this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[]));let n=this.model.getLinesContent().length,r=this.createLineBreaksComputer();for(let e=0;e<n;e++)r.addRequest(e+1,t?t[e]:null);let i=r.finalize(),a=[],o=this.hiddenAreasDecorationIds.map(e=>this.model.getDecorationRange(e)).sort(N.compareRangesUsingStarts),s=1,c=0,l=-1,u=l+1<o.length?c+1:n+2;for(let e=0;e<n;e++){let t=e+1;t===u&&(l++,s=o[l].startLineNumber,c=o[l].endLineNumber,u=l+1<o.length?c+1:n+2);let r=t>=s&&t<=c,d=OD(i[e],!r);a[e]=d.getViewLineCount(),this.modelLineProjections[e]=d}this._validModelVersionId=this.model.getVersionId(),this.projectedModelLineLineCounts=new Hoe(a),this._ensureAtLeastOneVisibleLine()}getHiddenAreas(){return this.hiddenAreasDecorationIds.map(e=>this.model.getDecorationRange(e))}setHiddenAreas(e){let t=m_e(e.map(e=>this.model.validateRange(e))),n=this.hiddenAreasDecorationIds.map(e=>this.model.getDecorationRange(e)).sort(N.compareRangesUsingStarts);if(t.length===n.length){let e=!1;for(let r=0;r<t.length;r++)if(!t[r].equalsRange(n[r])){e=!0;break}if(!e)return!1}let r=t.map(e=>({range:e,options:QE.EMPTY}));this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,r);let i=t,a=1,o=0,s=-1,c=s+1<i.length?o+1:this.modelLineProjections.length+2,l=!1;for(let e=0;e<this.modelLineProjections.length;e++){let t=e+1;t===c&&(s++,a=i[s].startLineNumber,o=i[s].endLineNumber,c=s+1<i.length?o+1:this.modelLineProjections.length+2);let n=!1;if(t>=a&&t<=o?this.modelLineProjections[e].isVisible()&&(this.modelLineProjections[e]=this.modelLineProjections[e].setVisible(!1),n=!0):(l=!0,this.modelLineProjections[e].isVisible()||(this.modelLineProjections[e]=this.modelLineProjections[e].setVisible(!0),n=!0)),n){let t=this.modelLineProjections[e].getViewLineCount();this.projectedModelLineLineCounts.setValue(e,t)}}return l||this.setHiddenAreas([]),!0}modelPositionIsVisible(e,t){return e<1||e>this.modelLineProjections.length?!1:this.modelLineProjections[e-1].isVisible()}getModelLineViewLineCount(e){return e<1||e>this.modelLineProjections.length?1:this.modelLineProjections[e-1].getViewLineCount()}setTabSize(e){return this.tabSize!==e&&(this.tabSize=e,this._constructLines(!1,null),!0)}setWrappingSettings(e,t,n,r,i){let a=this.fontInfo.equals(e),o=this.wrappingStrategy===t,s=this.wrappingColumn===n,c=this.wrappingIndent===r,l=this.wordBreak===i;if(a&&o&&s&&c&&l)return!1;let u=a&&o&&!s&&c&&l;this.fontInfo=e,this.wrappingStrategy=t,this.wrappingColumn=n,this.wrappingIndent=r,this.wordBreak=i;let d=null;if(u){d=[];for(let e=0,t=this.modelLineProjections.length;e<t;e++)d[e]=this.modelLineProjections[e].getProjectionData()}return this._constructLines(!1,d),!0}createLineBreaksComputer(e){let t=this.wrappingStrategy===`advanced`?this._domLineBreaksComputerFactory:this._monospaceLineBreaksComputerFactory,n=e??{getLineContent:e=>this.model.getLineContent(e),getLineInjectedText:e=>this.model.getLineInjectedText(e,this._editorId)};return t.createLineBreaksComputer(n,this.fontInfo,this.tabSize,this.wrappingColumn,this.wrappingIndent,this.wordBreak,this.wrapOnEscapedLineFeeds)}onModelFlushed(){this._constructLines(!0,null)}onModelLinesDeleted(e,t,n){if(!e||e<=this._validModelVersionId)return null;let r=t===1?1:this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,i=this.projectedModelLineLineCounts.getPrefixSum(n);return this.modelLineProjections.splice(t-1,n-t+1),this.projectedModelLineLineCounts.removeValues(t-1,n-t+1),new mD(r,i)}onModelLinesInserted(e,t,n,r){if(!e||e<=this._validModelVersionId)return null;let i=t>2&&!this.modelLineProjections[t-2].isVisible(),a=t===1?1:this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,o=0,s=[],c=[];for(let e=0,t=r.length;e<t;e++){let t=OD(r[e],!i);s.push(t);let n=t.getViewLineCount();o+=n,c[e]=n}return this.modelLineProjections=this.modelLineProjections.slice(0,t-1).concat(s).concat(this.modelLineProjections.slice(t-1)),this.projectedModelLineLineCounts.insertValues(t-1,c),new hD(a,a+o-1)}onModelLineChanged(e,t,n){if(e!==null&&e<=this._validModelVersionId)return[!1,null,null,null];let r=t-1,i=this.modelLineProjections[r].getViewLineCount(),a=OD(n,this.modelLineProjections[r].isVisible());this.modelLineProjections[r]=a;let o=this.modelLineProjections[r].getViewLineCount(),s=!1,c=0,l=-1,u=0,d=-1,f=0,p=-1;i>o?(c=this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,l=c+o-1,f=l+1,p=f+(i-o)-1,s=!0):i<o?(c=this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,l=c+i-1,u=l+1,d=u+(o-i)-1,s=!0):(c=this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,l=c+o-1),this.projectedModelLineLineCounts.setValue(r,o);let m=c<=l?new pD(c,l-c+1):null,h=u<=d?new hD(u,d):null,g=f<=p?new mD(f,p):null;return[s,m,h,g]}acceptVersionId(e){this._validModelVersionId=e,this._ensureAtLeastOneVisibleLine()}_ensureAtLeastOneVisibleLine(){this.getViewLineCount()===0&&this.modelLineProjections.length>0&&(this.modelLineProjections[0]=this.modelLineProjections[0].setVisible(!0),this.projectedModelLineLineCounts.setValue(0,this.modelLineProjections[0].getViewLineCount()))}getViewLineCount(){return this.projectedModelLineLineCounts.getTotalSum()}_toValidViewLineNumber(e){if(e<1)return 1;let t=this.getViewLineCount();return e>t?t:e|0}getActiveIndentGuide(e,t,n){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t),n=this._toValidViewLineNumber(n);let r=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),i=this.convertViewPositionToModelPosition(t,this.getViewLineMinColumn(t)),a=this.convertViewPositionToModelPosition(n,this.getViewLineMinColumn(n)),o=this.model.guides.getActiveIndentGuide(r.lineNumber,i.lineNumber,a.lineNumber),s=this.convertModelPositionToViewPosition(o.startLineNumber,1),c=this.convertModelPositionToViewPosition(o.endLineNumber,this.model.getLineMaxColumn(o.endLineNumber));return{startLineNumber:s.lineNumber,endLineNumber:c.lineNumber,indent:o.indent}}getViewLineInfo(e){e=this._toValidViewLineNumber(e);let t=this.projectedModelLineLineCounts.getIndexOf(e-1),n=t.index,r=t.remainder;return new ND(n+1,r)}getMinColumnOfViewLine(e){return this.modelLineProjections[e.modelLineNumber-1].getViewLineMinColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx)}getMaxColumnOfViewLine(e){return this.modelLineProjections[e.modelLineNumber-1].getViewLineMaxColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx)}getModelStartPositionOfViewLine(e){let t=this.modelLineProjections[e.modelLineNumber-1],n=t.getViewLineMinColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx),r=t.getModelColumnOfViewPosition(e.modelLineWrappedLineIdx,n);return new M(e.modelLineNumber,r)}getModelEndPositionOfViewLine(e){let t=this.modelLineProjections[e.modelLineNumber-1],n=t.getViewLineMaxColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx),r=t.getModelColumnOfViewPosition(e.modelLineWrappedLineIdx,n);return new M(e.modelLineNumber,r)}getViewLineInfosGroupedByModelRanges(e,t){let n=this.getViewLineInfo(e),r=this.getViewLineInfo(t),i=[],a=this.getModelStartPositionOfViewLine(n),o=[];for(let e=n.modelLineNumber;e<=r.modelLineNumber;e++){let t=this.modelLineProjections[e-1];if(t.isVisible()){let i=e===n.modelLineNumber?n.modelLineWrappedLineIdx:0,a=e===r.modelLineNumber?r.modelLineWrappedLineIdx+1:t.getViewLineCount();for(let t=i;t<a;t++)o.push(new ND(e,t))}if(!t.isVisible()&&a){let t=new M(e-1,this.model.getLineMaxColumn(e-1)+1),n=N.fromPositions(a,t);i.push(new PD(n,o)),o=[],a=null}else t.isVisible()&&!a&&(a=new M(e,1))}if(a){let e=N.fromPositions(a,this.getModelEndPositionOfViewLine(r));i.push(new PD(e,o))}return i}getViewLinesBracketGuides(e,t,n,r){let i=n?this.convertViewPositionToModelPosition(n.lineNumber,n.column):null,a=[];for(let n of this.getViewLineInfosGroupedByModelRanges(e,t)){let e=n.modelRange.startLineNumber,t=this.model.guides.getLinesBracketGuides(e,n.modelRange.endLineNumber,i,r);for(let r of n.viewLines){let n=t[r.modelLineNumber-e].map(e=>{if(e.forWrappedLinesAfterColumn!==-1&&this.modelLineProjections[r.modelLineNumber-1].getViewPositionOfModelPosition(0,e.forWrappedLinesAfterColumn).lineNumber>=r.modelLineWrappedLineIdx||e.forWrappedLinesBeforeOrAtColumn!==-1&&this.modelLineProjections[r.modelLineNumber-1].getViewPositionOfModelPosition(0,e.forWrappedLinesBeforeOrAtColumn).lineNumber<r.modelLineWrappedLineIdx)return;if(!e.horizontalLine)return e;let t=-1;if(e.column!==-1){let n=this.modelLineProjections[r.modelLineNumber-1].getViewPositionOfModelPosition(0,e.column);if(n.lineNumber===r.modelLineWrappedLineIdx)t=n.column;else if(n.lineNumber<r.modelLineWrappedLineIdx)t=this.getMinColumnOfViewLine(r);else if(n.lineNumber>r.modelLineWrappedLineIdx)return}let n=this.convertModelPositionToViewPosition(r.modelLineNumber,e.horizontalLine.endColumn),i=this.modelLineProjections[r.modelLineNumber-1].getViewPositionOfModelPosition(0,e.horizontalLine.endColumn);return i.lineNumber===r.modelLineWrappedLineIdx?new sS(e.visibleColumn,t,e.className,new cS(e.horizontalLine.top,n.column),-1,-1):i.lineNumber<r.modelLineWrappedLineIdx?void 0:e.visibleColumn===-1?new sS(e.visibleColumn,t,e.className,new cS(e.horizontalLine.top,this.getMaxColumnOfViewLine(r)),-1,-1):void 0});a.push(n.filter(e=>!!e))}}return a}getViewLinesIndentGuides(e,t){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t);let n=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),r=this.convertViewPositionToModelPosition(t,this.getViewLineMaxColumn(t)),i=[],a=[],o=[],s=n.lineNumber-1,c=r.lineNumber-1,l=null;for(let e=s;e<=c;e++){let t=this.modelLineProjections[e];if(t.isVisible()){let r=t.getViewLineNumberOfModelPosition(0,e===s?n.column:1),i=t.getViewLineNumberOfModelPosition(0,this.model.getLineMaxColumn(e+1)),c=i-r+1,u=0;c>1&&t.getViewLineMinColumn(this.model,e+1,i)===1&&(u=r===0?1:2),a.push(c),o.push(u),l===null&&(l=new M(e+1,0))}else l!==null&&(i=i.concat(this.model.guides.getLinesIndentGuides(l.lineNumber,e)),l=null)}l!==null&&(i=i.concat(this.model.guides.getLinesIndentGuides(l.lineNumber,r.lineNumber)),l=null);let u=t-e+1,d=Array(u),f=0;for(let e=0,t=i.length;e<t;e++){let t=i[e],n=Math.min(u-f,a[e]),r=o[e],s;s=r===2?0:r===1?1:n;for(let e=0;e<n;e++)e===s&&(t=0),d[f++]=t}return d}getViewLineContent(e){let t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineContent(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLineLength(e){let t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineLength(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLineMinColumn(e){let t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineMinColumn(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLineMaxColumn(e){let t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineMaxColumn(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLineData(e){let t=this.getViewLineInfo(e),n=this.projectedModelLineLineCounts.getPrefixSum(t.modelLineNumber-1)+1;return this.modelLineProjections[t.modelLineNumber-1].getViewLineData(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx,n)}getViewLinesData(e,t,n){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t);let r=this.projectedModelLineLineCounts.getIndexOf(e-1),i=e,a=r.index,o=r.remainder,s=[];for(let r=a,c=this.model.getLineCount();r<c;r++){let c=this.modelLineProjections[r];if(!c.isVisible())continue;let l=r===a?o:0,u=c.getViewLineCount()-l,d=!1;i+u>t&&(d=!0,u=t-i+1);let f=this.projectedModelLineLineCounts.getPrefixSum(r)+1;if(c.getViewLinesData(this.model,r+1,l,u,f,i-e,n,s),i+=u,d)break}return s}validateViewPosition(e,t,n){e=this._toValidViewLineNumber(e);let r=this.projectedModelLineLineCounts.getIndexOf(e-1),i=r.index,a=r.remainder,o=this.modelLineProjections[i],s=o.getViewLineMinColumn(this.model,i+1,a),c=o.getViewLineMaxColumn(this.model,i+1,a);t<s&&(t=s),t>c&&(t=c);let l=o.getModelColumnOfViewPosition(a,t);return this.model.validatePosition(new M(i+1,l)).equals(n)?new M(e,t):this.convertModelPositionToViewPosition(n.lineNumber,n.column)}validateViewRange(e,t){let n=this.validateViewPosition(e.startLineNumber,e.startColumn,t.getStartPosition()),r=this.validateViewPosition(e.endLineNumber,e.endColumn,t.getEndPosition());return new N(n.lineNumber,n.column,r.lineNumber,r.column)}convertViewPositionToModelPosition(e,t){let n=this.getViewLineInfo(e),r=this.modelLineProjections[n.modelLineNumber-1].getModelColumnOfViewPosition(n.modelLineWrappedLineIdx,t);return this.model.validatePosition(new M(n.modelLineNumber,r))}convertViewRangeToModelRange(e){let t=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),n=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);return new N(t.lineNumber,t.column,n.lineNumber,n.column)}convertModelPositionToViewPosition(e,t,n=2,r=!1,i=!1){let a=this.model.validatePosition(new M(e,t)),o=a.lineNumber,s=a.column,c=o-1,l=!1;if(i)for(;c<this.modelLineProjections.length&&!this.modelLineProjections[c].isVisible();)c++,l=!0;else for(;c>0&&!this.modelLineProjections[c].isVisible();)c--,l=!0;if(c===0&&!this.modelLineProjections[c].isVisible())return new M(+!r,1);let u=1+this.projectedModelLineLineCounts.getPrefixSum(c),d;return d=l?i?this.modelLineProjections[c].getViewPositionOfModelPosition(u,1,n):this.modelLineProjections[c].getViewPositionOfModelPosition(u,this.model.getLineMaxColumn(c+1),n):this.modelLineProjections[o-1].getViewPositionOfModelPosition(u,s,n),d}convertModelRangeToViewRange(e,t=0){if(e.isEmpty()){let n=this.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn,t);return N.fromPositions(n)}{let t=this.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn,1),n=this.convertModelPositionToViewPosition(e.endLineNumber,e.endColumn,0);return new N(t.lineNumber,t.column,n.lineNumber,n.column)}}getViewLineNumberOfModelPosition(e,t){let n=e-1;if(this.modelLineProjections[n].isVisible()){let e=1+this.projectedModelLineLineCounts.getPrefixSum(n);return this.modelLineProjections[n].getViewLineNumberOfModelPosition(e,t)}for(;n>0&&!this.modelLineProjections[n].isVisible();)n--;if(n===0&&!this.modelLineProjections[n].isVisible())return 1;let r=1+this.projectedModelLineLineCounts.getPrefixSum(n);return this.modelLineProjections[n].getViewLineNumberOfModelPosition(r,this.model.getLineMaxColumn(n+1))}getDecorationsInRange(e,t,n,r,i,a){let o=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),s=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);if(s.lineNumber-o.lineNumber<=e.endLineNumber-e.startLineNumber)return this.model.getDecorationsInRange(new N(o.lineNumber,1,s.lineNumber,s.column),t,n,r,i,a);let c=[],l=o.lineNumber-1,u=s.lineNumber-1,d=null;for(let e=l;e<=u;e++)if(this.modelLineProjections[e].isVisible())d===null&&(d=new M(e+1,e===l?o.column:1));else if(d!==null){let a=this.model.getLineMaxColumn(e);c=c.concat(this.model.getDecorationsInRange(new N(d.lineNumber,d.column,e,a),t,n,r,i)),d=null}d!==null&&(c=c.concat(this.model.getDecorationsInRange(new N(d.lineNumber,d.column,s.lineNumber,s.column),t,n,r,i)),d=null),c.sort((e,t)=>{let n=N.compareRangesUsingStarts(e.range,t.range);return n===0?e.id<t.id?-1:+(e.id>t.id):n});let f=[],p=0,m=null;for(let e of c){let t=e.id;m!==t&&(m=t,f[p++]=e)}return f}getInjectedTextAt(e){let t=this.getViewLineInfo(e.lineNumber);return this.modelLineProjections[t.modelLineNumber-1].getInjectedTextAt(t.modelLineWrappedLineIdx,e.column)}normalizePosition(e,t){let n=this.getViewLineInfo(e.lineNumber);return this.modelLineProjections[n.modelLineNumber-1].normalizePosition(n.modelLineWrappedLineIdx,e,t)}getLineIndentColumn(e){let t=this.getViewLineInfo(e);return t.modelLineWrappedLineIdx===0?this.model.getLineIndentColumn(t.modelLineNumber):0}};function m_e(e){if(e.length===0)return[];let t=e.slice();t.sort(N.compareRangesUsingStarts);let n=[],r=t[0].startLineNumber,i=t[0].endLineNumber;for(let e=1,a=t.length;e<a;e++){let a=t[e];a.startLineNumber>i+1?(n.push(new N(r,1,i,1)),r=a.startLineNumber,i=a.endLineNumber):a.endLineNumber>i&&(i=a.endLineNumber)}return n.push(new N(r,1,i,1)),n}var ND=class{constructor(e,t){this.modelLineNumber=e,this.modelLineWrappedLineIdx=t}},PD=class{constructor(e,t){this.modelRange=e,this.viewLines=t}},h_e=class{constructor(e){this._lines=e}convertViewPositionToModelPosition(e){return this._lines.convertViewPositionToModelPosition(e.lineNumber,e.column)}convertViewRangeToModelRange(e){return this._lines.convertViewRangeToModelRange(e)}validateViewPosition(e,t){return this._lines.validateViewPosition(e.lineNumber,e.column,t)}validateViewRange(e,t){return this._lines.validateViewRange(e,t)}convertModelPositionToViewPosition(e,t,n,r){return this._lines.convertModelPositionToViewPosition(e.lineNumber,e.column,t,n,r)}convertModelRangeToViewRange(e,t){return this._lines.convertModelRangeToViewRange(e,t)}modelPositionIsVisible(e){return this._lines.modelPositionIsVisible(e.lineNumber,e.column)}getModelLineViewLineCount(e){return this._lines.getModelLineViewLineCount(e)}getViewLineNumberOfModelPosition(e,t){return this._lines.getViewLineNumberOfModelPosition(e,t)}},g_e=class{constructor(e){this.model=e}dispose(){}createCoordinatesConverter(){return new f_e(this.model)}getHiddenAreas(){return[]}setHiddenAreas(e){return!1}setTabSize(e){return!1}setWrappingSettings(e,t,n,r){return!1}createLineBreaksComputer(){let e=[];return{addRequest:(t,n)=>{e.push(null)},finalize:()=>e}}onModelFlushed(){}onModelLinesDeleted(e,t,n){return new mD(t,n)}onModelLinesInserted(e,t,n,r){return new hD(t,n)}onModelLineChanged(e,t,n){return[!1,new pD(t,1),null,null]}acceptVersionId(e){}getViewLineCount(){return this.model.getLineCount()}getActiveIndentGuide(e,t,n){return{startLineNumber:e,endLineNumber:e,indent:0}}getViewLinesBracketGuides(e,t,n){return Array(t-e+1).fill([])}getViewLinesIndentGuides(e,t){let n=t-e+1,r=Array(n);for(let e=0;e<n;e++)r[e]=0;return r}getViewLineContent(e){return this.model.getLineContent(e)}getViewLineLength(e){return this.model.getLineLength(e)}getViewLineMinColumn(e){return this.model.getLineMinColumn(e)}getViewLineMaxColumn(e){return this.model.getLineMaxColumn(e)}getViewLineData(e){let t=this.model.tokenization.getLineTokens(e),n=t.getLineContent();return new og(n,!1,1,n.length+1,0,t.inflate(),null)}getViewLinesData(e,t,n){let r=this.model.getLineCount();e=Math.min(Math.max(1,e),r),t=Math.min(Math.max(1,t),r);let i=[];for(let r=e;r<=t;r++){let t=r-e;i[t]=n[t]?this.getViewLineData(r):null}return i}getDecorationsInRange(e,t,n,r,i,a){return this.model.getDecorationsInRange(e,t,n,r,i,a)}normalizePosition(e,t){return this.model.normalizePosition(e,t)}getLineIndentColumn(e){return this.model.getLineIndentColumn(e)}getInjectedTextAt(e){return null}},FD=Up.Right,__e=class{constructor(e){this.persist=0,this._requiredLanes=1,this.lanes=new Uint8Array(Math.ceil((e+1)*FD/8))}reset(e){let t=Math.ceil((e+1)*FD/8);this.lanes.length<t?this.lanes=new Uint8Array(t):this.lanes.fill(0),this._requiredLanes=1}get requiredLanes(){return this._requiredLanes}push(e,t,n){n&&(this.persist|=1<<e-1);for(let n=t.startLineNumber;n<=t.endLineNumber;n++){let t=FD*n+(e-1);this.lanes[t>>>3]|=1<<t%8,this._requiredLanes=Math.max(this._requiredLanes,this.countAtLine(n))}}getLanesAtLine(e){let t=[],n=FD*e;for(let e=0;e<FD;e++)(this.persist&1<<e||this.lanes[n>>>3]&1<<n%8)&&t.push(e+1),n++;return t.length?t:[Up.Center]}countAtLine(e){let t=FD*e,n=0;for(let e=0;e<FD;e++)(this.persist&1<<e||this.lanes[t>>>3]&1<<t%8)&&n++,t++;return n}},v_e=class extends O{constructor(e,t,n,r,i,a,o,s,c,l){if(super(),this.languageConfigurationService=o,this._themeService=s,this._attachedView=c,this._transactionalTarget=l,this.hiddenAreasModel=new x_e,this.previousHiddenAreas=[],this._editorId=e,this._configuration=t,this.model=n,this._eventDispatcher=new Mge,this.onEvent=this._eventDispatcher.onEvent,this.cursorConfig=new bb(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._updateConfigurationViewLineCount=this._register(new Ns(()=>this._updateConfigurationViewLineCountNow(),0)),this._hasFocus=!1,this._viewportStart=y_e.create(this.model),this.glyphLanes=new __e(0),this.model.isTooLargeForTokenization())this._lines=new g_e(this.model);else{let e=this._configuration.options,t=e.get(59),n=e.get(156),a=e.get(166),o=e.get(155),s=e.get(146),c=e.get(160);this._lines=new p_e(this._editorId,this.model,r,i,t,this.model.getOptions().tabSize,n,a.wrappingColumn,o,s,c)}this.coordinatesConverter=this._lines.createCoordinatesConverter(),this._cursor=this._register(new Jge(n,this,this.coordinatesConverter,this.cursorConfig)),this.viewLayout=this._register(new o_e(this._configuration,this.getLineCount(),this._getCustomLineHeights(),a)),this._register(this.viewLayout.onDidScroll(e=>{e.scrollTopChanged&&this._handleVisibleLinesChanged(),e.scrollTopChanged&&this._viewportStart.invalidate(),this._eventDispatcher.emitSingleViewEvent(new Dge(e)),this._eventDispatcher.emitOutgoingEvent(new Fge(e.oldScrollWidth,e.oldScrollLeft,e.oldScrollHeight,e.oldScrollTop,e.scrollWidth,e.scrollLeft,e.scrollHeight,e.scrollTop))})),this._register(this.viewLayout.onDidContentSizeChange(e=>{this._eventDispatcher.emitOutgoingEvent(e)})),this._decorations=new l_e(this._editorId,this.model,this._configuration,this._lines,this.coordinatesConverter),this._registerModelEvents(),this._register(this._configuration.onDidChangeFast(e=>{try{let t=this._eventDispatcher.beginEmitViewEvents();this._onConfigurationChanged(t,e)}finally{this._eventDispatcher.endEmitViewEvents()}})),this._register(_S.getInstance().onDidChange(()=>{this._eventDispatcher.emitSingleViewEvent(new Age)})),this._register(this._themeService.onDidColorThemeChange(e=>{this._invalidateDecorationsColorCache(),this._eventDispatcher.emitSingleViewEvent(new Oge(e))})),this._updateConfigurationViewLineCountNow(),this.model.registerViewModel(this)}dispose(){super.dispose(),this._decorations.dispose(),this._lines.dispose(),this._viewportStart.dispose(),this._eventDispatcher.dispose(),this.model.unregisterViewModel(this)}getEditorOption(e){return this._configuration.options.get(e)}createLineBreaksComputer(e){return this._lines.createLineBreaksComputer(e)}addViewEventHandler(e){this._eventDispatcher.addViewEventHandler(e)}removeViewEventHandler(e){this._eventDispatcher.removeViewEventHandler(e)}_getCustomLineHeights(){if(!this._configuration.options.get(5))return[];let e=this.model.getCustomLineHeightsDecorations(this._editorId);return wD.fromDecorations(e,this.coordinatesConverter,this._configuration)}_getCustomLineHeightsForLines(e,t){if(!this._configuration.options.get(5))return[];let n=new N(e,1,t,this.model.getLineMaxColumn(t)),r=this.model.getCustomLineHeightsDecorationsInRange(n,this._editorId);return wD.fromDecorations(r,this.coordinatesConverter,this._configuration)}_updateConfigurationViewLineCountNow(){this._configuration.setViewLineCount(this._lines.getViewLineCount())}getModelVisibleRanges(){let e=this.viewLayout.getLinesViewportData(),t=new N(e.startLineNumber,this.getLineMinColumn(e.startLineNumber),e.endLineNumber,this.getLineMaxColumn(e.endLineNumber));return this._toModelVisibleRanges(t)}visibleLinesStabilized(){let e=this.getModelVisibleRanges();this._attachedView.setVisibleLines(e,!0)}_handleVisibleLinesChanged(){let e=this.getModelVisibleRanges();this._attachedView.setVisibleLines(e,!1)}setHasFocus(e){this._hasFocus=e,this._cursor.setHasFocus(e),this._eventDispatcher.emitSingleViewEvent(new Tge(e)),this._eventDispatcher.emitOutgoingEvent(new vD(!e,e))}setHasWidgetFocus(e){this._eventDispatcher.emitOutgoingEvent(new Pge(!e,e))}onCompositionStart(){this._eventDispatcher.emitSingleViewEvent(new xge)}onCompositionEnd(){this._eventDispatcher.emitSingleViewEvent(new Sge)}_captureStableViewport(){if(this._viewportStart.isValid&&this.viewLayout.getCurrentScrollTop()>0){let e=new M(this._viewportStart.viewLineNumber,this.getLineMinColumn(this._viewportStart.viewLineNumber));return new LD(this.coordinatesConverter.convertViewPositionToModelPosition(e),this._viewportStart.startLineDelta)}return new LD(null,0)}_onConfigurationChanged(e,t){let n=this._captureStableViewport(),r=this._configuration.options,i=r.get(59),a=r.get(156),o=r.get(166),s=r.get(155),c=r.get(146);this._lines.setWrappingSettings(i,a,o.wrappingColumn,s,c)&&(e.emitViewEvent(new dD),e.emitViewEvent(new fD),e.emitViewEvent(new uD(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount(),this._getCustomLineHeights()),this._updateConfigurationViewLineCount.schedule()),t.hasChanged(104)&&(this._decorations.reset(),e.emitViewEvent(new uD(null))),t.hasChanged(112)&&(this._decorations.reset(),e.emitViewEvent(new uD(null))),e.emitViewEvent(new Cge(t)),this.viewLayout.onConfigurationChanged(t),n.recoverViewportStart(this.coordinatesConverter,this.viewLayout),bb.shouldRecreate(t)&&(this.cursorConfig=new bb(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig))}onDidChangeContentOrInjectedText(e){try{let t=this._eventDispatcher.beginEmitViewEvents(),n=!1,r=!1,i=e instanceof QC?e.rawContentChangedEvent.changes:e.changes,a=e instanceof QC?e.rawContentChangedEvent.versionId:null,o=this._lines.createLineBreaksComputer();for(let e of i)switch(e.changeType){case 4:for(let t=0;t<e.count;t++)o.addRequest(e.fromLineNumberPostEdit+t,null);break;case 2:o.addRequest(e.lineNumberPostEdit,null)}let s=new bt(o.finalize()),c=[];for(let e of i)switch(e.changeType){case 1:this._lines.onModelFlushed(),t.emitViewEvent(new dD),this._decorations.reset(),this.viewLayout.onFlushed(this.getLineCount(),this._getCustomLineHeights()),n=!0;break;case 3:{let r=this._lines.onModelLinesDeleted(a,e.fromLineNumber,e.toLineNumber);r!==null&&(t.emitViewEvent(r),this.viewLayout.onLinesDeleted(r.fromLineNumber,r.toLineNumber),c.push({fromLineNumber:e.lastUntouchedLinePostEdit,toLineNumber:e.lastUntouchedLinePostEdit})),n=!0;break}case 4:{let r=s.takeCount(e.count),i=this._lines.onModelLinesInserted(a,e.fromLineNumber,e.toLineNumber,r);i!==null&&(t.emitViewEvent(i),this.viewLayout.onLinesInserted(i.fromLineNumber,i.toLineNumber),c.push({fromLineNumber:e.fromLineNumberPostEdit,toLineNumber:e.toLineNumberPostEdit})),n=!0;break}case 2:{let n=s.dequeue(),[i,o,l,u]=this._lines.onModelLineChanged(a,e.lineNumber,n);r=i,o&&t.emitViewEvent(o),l&&(t.emitViewEvent(l),this.viewLayout.onLinesInserted(l.fromLineNumber,l.toLineNumber),c.push({fromLineNumber:e.lineNumberPostEdit,toLineNumber:e.lineNumberPostEdit})),u&&(t.emitViewEvent(u),this.viewLayout.onLinesDeleted(u.fromLineNumber,u.toLineNumber),c.push({fromLineNumber:e.lineNumberPostEdit,toLineNumber:e.lineNumberPostEdit}));break}}a!==null&&this._lines.acceptVersionId(a),c.length>0&&this.viewLayout.changeSpecialLineHeights(e=>{for(let t of c){let n=this._getCustomLineHeightsForLines(t.fromLineNumber,t.toLineNumber);for(let t of n)e.insertOrChangeCustomLineHeight(t.decorationId,t.startLineNumber,t.endLineNumber,t.lineHeight)}}),this.viewLayout.onHeightMaybeChanged(),!n&&r&&(t.emitViewEvent(new fD),t.emitViewEvent(new uD(null)),this._cursor.onLineMappingChanged(t),this._decorations.onLineMappingChanged())}finally{this._eventDispatcher.endEmitViewEvents()}let t=this._viewportStart.isValid;if(this._viewportStart.invalidate(),this._configuration.setModelLineCount(this.model.getLineCount()),this._updateConfigurationViewLineCountNow(),!this._hasFocus&&this.model.getAttachedEditorCount()>=2&&t){let e=this.model._getTrackedRange(this._viewportStart.modelTrackedRange);if(e){let t=this.coordinatesConverter.convertModelPositionToViewPosition(e.getStartPosition()),n=this.viewLayout.getVerticalOffsetForLineNumber(t.lineNumber);this.viewLayout.setScrollPosition({scrollTop:n+this._viewportStart.startLineDelta},1)}}this._handleVisibleLinesChanged()}emitContentChangeEvent(e){this._emitViewEvent(t=>{e instanceof QC&&t.emitOutgoingEvent(new Uge(e.contentChangedEvent)),this._cursor.onModelContentChanged(t,e)})}_registerModelEvents(){this._configuration.options.get(5)&&this._register(this.model.onDidChangeLineHeight(e=>{let t=e.changes.filter(e=>e.ownerId===this._editorId||e.ownerId===0);if(this.viewLayout.changeSpecialLineHeights(e=>{for(let n of t){let{decorationId:t,lineNumber:r,lineHeightMultiplier:i}=n,a=this.coordinatesConverter.convertModelRangeToViewRange(new N(r,1,r,this.model.getLineMaxColumn(r)));i===null?e.removeCustomLineHeight(t):e.insertOrChangeCustomLineHeight(t,a.startLineNumber,a.endLineNumber,i*this._configuration.options.get(75))}}),t.length>0){let e=new XC(t);this._eventDispatcher.emitOutgoingEvent(new Kge(e))}})),this._configuration.options.get(172)&&this._register(this.model.onDidChangeFont(e=>{let t=e.changes.filter(e=>e.ownerId===this._editorId||e.ownerId===0);if(t.length>0){let e=new ZC(t);this._eventDispatcher.emitOutgoingEvent(new qge(e))}})),this._register(this.model.onDidChangeTokens(e=>{let t=[];for(let n=0,r=e.ranges.length;n<r;n++){let r=e.ranges[n],i=this.coordinatesConverter.convertModelPositionToViewPosition(new M(r.fromLineNumber,1)).lineNumber,a=this.coordinatesConverter.convertModelPositionToViewPosition(new M(r.toLineNumber,this.model.getLineMaxColumn(r.toLineNumber))).lineNumber;t[n]={fromLineNumber:i,toLineNumber:a}}this._eventDispatcher.emitSingleViewEvent(new kge(t)),this._eventDispatcher.emitOutgoingEvent(new Gge(e))})),this._register(this.model.onDidChangeLanguageConfiguration(e=>{this._eventDispatcher.emitSingleViewEvent(new Ege),this.cursorConfig=new bb(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new Hge(e))})),this._register(this.model.onDidChangeLanguage(e=>{this.cursorConfig=new bb(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new Vge(e))})),this._register(this.model.onDidChangeOptions(e=>{if(this._lines.setTabSize(this.model.getOptions().tabSize)){try{let e=this._eventDispatcher.beginEmitViewEvents();e.emitViewEvent(new dD),e.emitViewEvent(new fD),e.emitViewEvent(new uD(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount(),this._getCustomLineHeights())}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule()}this.cursorConfig=new bb(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new Wge(e))})),this._register(this.model.onDidChangeDecorations(e=>{this._decorations.onModelDecorationsChanged(),this._eventDispatcher.emitSingleViewEvent(new uD(e)),this._eventDispatcher.emitOutgoingEvent(new Bge(e))}))}getFontSizeAtPosition(e){if(!this._configuration.options.get(172))return null;let t=this.model.getFontDecorationsInRange(N.fromPositions(e),this._editorId),n=this._configuration.options.get(59).fontSize+`px`;for(let e of t)if(e.options.fontSize){n=e.options.fontSize;break}return n}setHiddenAreas(e,t,n){this.hiddenAreasModel.setHiddenAreas(t,e);let r=this.hiddenAreasModel.getMergedRanges();if(r===this.previousHiddenAreas&&!n)return;this.previousHiddenAreas=r;let i=this._captureStableViewport(),a=!1;try{let e=this._eventDispatcher.beginEmitViewEvents();a=this._lines.setHiddenAreas(r),a&&(e.emitViewEvent(new dD),e.emitViewEvent(new fD),e.emitViewEvent(new uD(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount(),this._getCustomLineHeights()),this.viewLayout.onHeightMaybeChanged());let t=i.viewportStartModelPosition?.lineNumber;t&&r.some(e=>e.startLineNumber<=t&&t<=e.endLineNumber)||i.recoverViewportStart(this.coordinatesConverter,this.viewLayout)}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule(),a&&this._eventDispatcher.emitOutgoingEvent(new Lge)}getVisibleRangesPlusViewportAboveBelow(){let e=this._configuration.options.get(165),t=this._configuration.options.get(75),n=Math.max(20,Math.round(e.height/t)),r=this.viewLayout.getLinesViewportData(),i=Math.max(1,r.completelyVisibleStartLineNumber-n),a=Math.min(this.getLineCount(),r.completelyVisibleEndLineNumber+n);return this._toModelVisibleRanges(new N(i,this.getLineMinColumn(i),a,this.getLineMaxColumn(a)))}getVisibleRanges(){let e=this.getCompletelyVisibleViewRange();return this._toModelVisibleRanges(e)}getHiddenAreas(){return this._lines.getHiddenAreas()}_toModelVisibleRanges(e){let t=this.coordinatesConverter.convertViewRangeToModelRange(e),n=this._lines.getHiddenAreas();if(n.length===0)return[t];let r=[],i=0,a=t.startLineNumber,o=t.startColumn,s=t.endLineNumber,c=t.endColumn;for(let e=0,t=n.length;e<t;e++){let t=n[e].startLineNumber,c=n[e].endLineNumber;c<a||t>s||(a<t&&(r[i++]=new N(a,o,t-1,this.model.getLineMaxColumn(t-1))),a=c+1,o=1)}return(a<s||a===s&&o<c)&&(r[i++]=new N(a,o,s,c)),r}getCompletelyVisibleViewRange(){let e=this.viewLayout.getLinesViewportData(),t=e.completelyVisibleStartLineNumber,n=e.completelyVisibleEndLineNumber;return new N(t,this.getLineMinColumn(t),n,this.getLineMaxColumn(n))}getCompletelyVisibleViewRangeAtScrollTop(e){let t=this.viewLayout.getLinesViewportDataAtScrollTop(e),n=t.completelyVisibleStartLineNumber,r=t.completelyVisibleEndLineNumber;return new N(n,this.getLineMinColumn(n),r,this.getLineMaxColumn(r))}getViewRangeWithCursorPadding(e){let t=this._configuration.options,n=t.get(35),r=t.get(131),{startLineNumber:i,endLineNumber:a}=e,o=Math.min(Math.max(n,r.enabled?r.maxLineCount:0),Math.floor((a-i+1)/2));return i+=o,a-=Math.max(0,o-1),o===0||i>a?e:new N(i,this.getLineMinColumn(i),a,this.getLineMaxColumn(a))}saveState(){let e=this.viewLayout.saveState(),t=e.scrollTop,n=this.viewLayout.getLineNumberAtVerticalOffset(t),r=this.coordinatesConverter.convertViewPositionToModelPosition(new M(n,this.getLineMinColumn(n))),i=this.viewLayout.getVerticalOffsetForLineNumber(n)-t;return{scrollLeft:e.scrollLeft,firstPosition:r,firstPositionDeltaTop:i}}reduceRestoreState(e){if(e.firstPosition===void 0)return this._reduceRestoreStateCompatibility(e);let t=this.model.validatePosition(e.firstPosition),n=this.coordinatesConverter.convertModelPositionToViewPosition(t),r=this.viewLayout.getVerticalOffsetForLineNumber(n.lineNumber)-e.firstPositionDeltaTop;return{scrollLeft:e.scrollLeft,scrollTop:r}}_reduceRestoreStateCompatibility(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTopWithoutViewZones}}getTabSize(){return this.model.getOptions().tabSize}getLineCount(){return this._lines.getViewLineCount()}setViewport(e,t,n){this._viewportStart.update(this,e)}getActiveIndentGuide(e,t,n){return this._lines.getActiveIndentGuide(e,t,n)}getLinesIndentGuides(e,t){return this._lines.getViewLinesIndentGuides(e,t)}getBracketGuidesInRangeByLine(e,t,n,r){return this._lines.getViewLinesBracketGuides(e,t,n,r)}getLineContent(e){return this._lines.getViewLineContent(e)}getLineLength(e){return this._lines.getViewLineLength(e)}getLineMinColumn(e){return this._lines.getViewLineMinColumn(e)}getLineMaxColumn(e){return this._lines.getViewLineMaxColumn(e)}getLineFirstNonWhitespaceColumn(e){let t=yo(this.getLineContent(e));return t===-1?0:t+1}getLineLastNonWhitespaceColumn(e){let t=xo(this.getLineContent(e));return t===-1?0:t+2}getMinimapDecorationsInRange(e){return this._decorations.getMinimapDecorationsInRange(e)}getDecorationsInViewport(e){return this._decorations.getDecorationsViewportData(e).decorations}getInjectedTextAt(e){return this._lines.getInjectedTextAt(e)}_getTextDirection(e,t){let n=0;for(let r of t){let t=r.range;if(t.startLineNumber>e||t.endLineNumber<e)continue;let i=r.options.textDirection;i===Wp.RTL?n++:i===Wp.LTR&&n--}return n>0?Wp.RTL:Wp.LTR}getTextDirection(e){let t=this._decorations.getDecorationsOnLine(e);return this._getTextDirection(e,t.decorations)}getViewportViewLineRenderingData(e,t){let n=this._decorations.getDecorationsViewportData(e),r=t-e.startLineNumber,i=n.inlineDecorations[r],a=n.hasVariableFonts[r];return this._getViewLineRenderingData(t,i,a,n.decorations)}getViewLineRenderingData(e){let t=this._decorations.getDecorationsOnLine(e);return this._getViewLineRenderingData(e,t.inlineDecorations[0],t.hasVariableFonts[0],t.decorations)}_getViewLineRenderingData(e,t,n,r){let i=this.model.mightContainRTL(),a=this.model.mightContainNonBasicASCII(),o=this.getTabSize(),s=this._lines.getViewLineData(e);return s.inlineDecorations&&(t=[...t,...s.inlineDecorations]),new sg(s.minColumn,s.maxColumn,s.content,s.continuesWithWrappedLine,i,a,s.tokens,t,o,s.startVisibleColumn,this._getTextDirection(e,r),n)}getViewLineData(e){return this._lines.getViewLineData(e)}getMinimapLinesRenderingData(e,t,n){let r=this._lines.getViewLinesData(e,t,n);return new bse(this.getTabSize(),r)}getAllOverviewRulerDecorations(e){let t=this.model.getOverviewRulerDecorations(this._editorId,Ur(this._configuration.options),Wr(this._configuration.options)),n=new b_e;for(let r of t){let t=r.options,i=t.overviewRuler;if(!i)continue;let a=i.position;if(a===0)continue;let o=i.getColor(e.value),s=this.coordinatesConverter.getViewLineNumberOfModelPosition(r.range.startLineNumber,r.range.startColumn),c=this.coordinatesConverter.getViewLineNumberOfModelPosition(r.range.endLineNumber,r.range.endColumn);n.accept(o,t.zIndex,s,c,a)}return n.asArray}_invalidateDecorationsColorCache(){let e=this.model.getOverviewRulerDecorations();for(let t of e)t.options.overviewRuler?.invalidateCachedColor(),t.options.minimap?.invalidateCachedColor()}getValueInRange(e,t){let n=this.coordinatesConverter.convertViewRangeToModelRange(e);return this.model.getValueInRange(n,t)}getValueLengthInRange(e,t){let n=this.coordinatesConverter.convertViewRangeToModelRange(e);return this.model.getValueLengthInRange(n,t)}modifyPosition(e,t){let n=this.coordinatesConverter.convertViewPositionToModelPosition(e),r=this.model.modifyPosition(n,t);return this.coordinatesConverter.convertModelPositionToViewPosition(r)}deduceModelPositionRelativeToViewPosition(e,t,n){let r=this.coordinatesConverter.convertViewPositionToModelPosition(e);this.model.getEOL().length===2&&(t<0?t-=n:t+=n);let i=this.model.getOffsetAt(r)+t;return this.model.getPositionAt(i)}getPlainTextToCopy(e,t,n){let r=n?`\r
274
+ `)>=0)return null;let i=r.text.match(/([)\]}>'"`])([^)\]}>'"`]*)$/);if(!i)return null;let a=i[1],o=this.context.cursorConfig.autoClosingPairs.autoClosingPairsCloseSingleChar.get(a);if(!o||o.length!==1)return null;let s=o[0].open,c=r.text.length-i[2].length-1,l=r.text.lastIndexOf(s,c-1);if(l===-1)return null;t.push([l,c])}return t}executeEdits(e,t,n,r,i){let a=null;t===`snippet`&&(a=this._findAutoClosingPairs(n)),a&&(n[0]._isTracked=!0);let o=[],s=[],c=this._model.pushEditOperations(this.getSelections(),n,e=>{if(a)for(let t=0,n=a.length;t<n;t++){let[n,r]=a[t],i=e[t],c=i.range.startLineNumber,l=i.range.startColumn-1+n,u=i.range.startColumn-1+r;o.push(new N(c,u+1,c,u+2)),s.push(new N(c,l+1,c,u+2))}let t=r(e);return t&&(this._isHandling=!0),t},void 0,i);c&&(this._isHandling=!1,this.setSelections(e,t,c,0)),o.length>0&&this._pushAutoClosedAction(o,s)}_executeEdit(e,t,n,r=0){if(this.context.cursorConfig.readOnly)return;let i=yD.from(this._model,this);this._cursors.stopTrackingSelections(),this._isHandling=!0;try{this._cursors.ensureValidState(),e()}catch(e){Et(e)}this._isHandling=!1,this._cursors.startTrackingSelections(),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(t,n,r,i,!1)&&this.revealAll(t,n,!1,0,!0,0)}getAutoClosedCharacters(){return bD.getAllAutoClosedCharacters(this._autoClosedActions)}startComposition(e){this._compositionState=new Zge(this._model,this.getSelections())}endComposition(e,t){let n=dw.cursor({kind:`compositionEnd`,detailedSource:t}),r=this._compositionState?this._compositionState.deduceOutcome(this._model,this.getSelections()):null;this._compositionState=null,this._executeEdit(()=>{t===`keyboard`&&this._executeEditOperation(dx.compositionEndWithInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,r,this.getSelections(),this.getAutoClosedCharacters()),n)},e,t)}type(e,t,n){let r=dw.cursor({kind:`type`,detailedSource:n});this._executeEdit(()=>{if(n===`keyboard`){let e=t.length,n=0;for(;n<e;){let e=Bo(t,n),i=t.substr(n,e);this._executeEditOperation(dx.typeWithInterceptors(!!this._compositionState,this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),this.getAutoClosedCharacters(),i),r),n+=e}}else this._executeEditOperation(dx.typeWithoutInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),t),r)},e,n)}compositionType(e,t,n,r,i,a){let o=dw.cursor({kind:`compositionType`,detailedSource:a});if(t.length===0&&n===0&&r===0){if(i!==0){let t=this.getSelections().map(e=>{let t=e.getPosition();return new P(t.lineNumber,t.column+i,t.lineNumber,t.column+i)});this.setSelections(e,a,t,0)}return}this._executeEdit(()=>{this._executeEditOperation(dx.compositionType(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),t,n,r,i),o)},e,a)}paste(e,t,n,r,i){let a=dw.cursor({kind:`paste`,detailedSource:i});this._executeEdit(()=>{this._executeEditOperation(dx.paste(this.context.cursorConfig,this._model,this.getSelections(),t,n,r||[]),a)},e,i,4)}cut(e,t){let n=dw.cursor({kind:`cut`,detailedSource:t});this._executeEdit(()=>{this._executeEditOperation(Pb.cut(this.context.cursorConfig,this._model,this.getSelections()),n)},e,t)}executeCommand(e,t,n){let r=dw.cursor({kind:`executeCommand`,detailedSource:n});this._executeEdit(()=>{this._cursors.killSecondaryCursors(),this._executeEditOperation(new Cb(0,[t],{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}),r)},e,n)}executeCommands(e,t,n){let r=dw.cursor({kind:`executeCommands`,detailedSource:n});this._executeEdit(()=>{this._executeEditOperation(new Cb(0,t,{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}),r)},e,n)}},yD=class e{static from(t,n){return new e(t.getVersionId(),n.getCursorStates())}constructor(e,t){this.modelVersionId=e,this.cursorState=t}equals(e){if(!e||this.modelVersionId!==e.modelVersionId||this.cursorState.length!==e.cursorState.length)return!1;for(let t=0,n=this.cursorState.length;t<n;t++)if(!this.cursorState[t].equals(e.cursorState[t]))return!1;return!0}},bD=class{static getAllAutoClosedCharacters(e){let t=[];for(let n of e)t=t.concat(n.getAutoClosedCharactersRanges());return t}constructor(e,t,n){this._model=e,this._autoClosedCharactersDecorations=t,this._autoClosedEnclosingDecorations=n}dispose(){this._autoClosedCharactersDecorations=this._model.deltaDecorations(this._autoClosedCharactersDecorations,[]),this._autoClosedEnclosingDecorations=this._model.deltaDecorations(this._autoClosedEnclosingDecorations,[])}getAutoClosedCharactersRanges(){let e=[];for(let t=0;t<this._autoClosedCharactersDecorations.length;t++){let n=this._model.getDecorationRange(this._autoClosedCharactersDecorations[t]);n&&e.push(n)}return e}isValid(e){let t=[];for(let e=0;e<this._autoClosedEnclosingDecorations.length;e++){let n=this._model.getDecorationRange(this._autoClosedEnclosingDecorations[e]);if(n&&(t.push(n),n.startLineNumber!==n.endLineNumber))return!1}t.sort(N.compareRangesUsingStarts),e.sort(N.compareRangesUsingStarts);for(let n=0;n<e.length;n++)if(n>=t.length||!t[n].strictContainsRange(e[n]))return!1;return!0}},Yge=class{static executeCommands(e,t,n,r=dw.unknown({name:`executeCommands`})){let i={model:e,selectionsBefore:t,trackedRanges:[],trackedRangesDirection:[]},a=this._innerExecuteCommands(i,n,r);for(let e=0,t=i.trackedRanges.length;e<t;e++)i.model._setTrackedRange(i.trackedRanges[e],null,0);return a}static _innerExecuteCommands(e,t,n){if(this._arrayIsEmpty(t))return null;let r=this._getEditOperations(e,t);if(r.operations.length===0)return null;let i=r.operations,a=this._getLoserCursorMap(i);if(a.hasOwnProperty(`0`))return console.warn(`Ignoring commands`),null;let o=[];for(let e=0,t=i.length;e<t;e++)a.hasOwnProperty(i[e].identifier.major.toString())||o.push(i[e]);r.hadTrackedEditOperation&&o.length>0&&(o[0]._isTracked=!0);let s=e.model.pushEditOperations(e.selectionsBefore,o,n=>{let r=[];for(let t=0;t<e.selectionsBefore.length;t++)r[t]=[];for(let e of n)e.identifier&&r[e.identifier.major].push(e);let i=(e,t)=>e.identifier.minor-t.identifier.minor,a=[];for(let n=0;n<e.selectionsBefore.length;n++)r[n].length>0?(r[n].sort(i),a[n]=t[n].computeCursorState(e.model,{getInverseEditOperations:()=>r[n],getTrackedSelection:t=>{let n=parseInt(t,10),r=e.model._getTrackedRange(e.trackedRanges[n]);return e.trackedRangesDirection[n]===0?new P(r.startLineNumber,r.startColumn,r.endLineNumber,r.endColumn):new P(r.endLineNumber,r.endColumn,r.startLineNumber,r.startColumn)}})):a[n]=e.selectionsBefore[n];return a},void 0,n);s||=e.selectionsBefore;let c=[];for(let e in a)a.hasOwnProperty(e)&&c.push(parseInt(e,10));c.sort((e,t)=>t-e);for(let e of c)s.splice(e,1);return s}static _arrayIsEmpty(e){for(let t=0,n=e.length;t<n;t++)if(e[t])return!1;return!0}static _getEditOperations(e,t){let n=[],r=!1;for(let i=0,a=t.length;i<a;i++){let a=t[i];if(a){let t=this._getEditOperationsFromCommand(e,i,a);n=n.concat(t.operations),r||=t.hadTrackedEditOperation}}return{operations:n,hadTrackedEditOperation:r}}static _getEditOperationsFromCommand(e,t,n){let r=[],i=0,a=(e,a,o=!1)=>{N.isEmpty(e)&&a===``||r.push({identifier:{major:t,minor:i++},range:e,text:a,forceMoveMarkers:o,isAutoWhitespaceEdit:n.insertsAutoWhitespace})},o=!1,s={addEditOperation:a,addTrackedEditOperation:(e,t,n)=>{o=!0,a(e,t,n)},trackSelection:(t,n)=>{let r=P.liftSelection(t),i;if(r.isEmpty()){if(typeof n==`boolean`)i=n?2:3;else{let t=e.model.getLineMaxColumn(r.startLineNumber);i=r.startColumn===t?2:3}}else i=1;let a=e.trackedRanges.length,o=e.model._setTrackedRange(null,r,i);return e.trackedRanges[a]=o,e.trackedRangesDirection[a]=r.getDirection(),a.toString()}};try{n.getEditOperations(e.model,s)}catch(e){return Et(e),{operations:[],hadTrackedEditOperation:!1}}return{operations:r,hadTrackedEditOperation:o}}static _getLoserCursorMap(e){e=e.slice(0),e.sort((e,t)=>-N.compareRangesUsingEnds(e.range,t.range));let t={};for(let n=1;n<e.length;n++){let r=e[n-1],i=e[n];if(N.getStartPosition(r.range).isBefore(N.getEndPosition(i.range))){let a;a=r.identifier.major>i.identifier.major?r.identifier.major:i.identifier.major,t[a.toString()]=!0;for(let t=0;t<e.length;t++)e[t].identifier.major===a&&(e.splice(t,1),t<n&&n--,t--);n>0&&n--}}return t}},Xge=class{constructor(e,t,n,r){this.text=e,this.lineNumber=t,this.startSelectionOffset=n,this.endSelectionOffset=r}},Zge=class e{static _capture(e,t){let n=[];for(let r of t){if(r.startLineNumber!==r.endLineNumber)return null;let t=r.startLineNumber;n.push(new Xge(e.getLineContent(t),t,r.startColumn-1,r.endColumn-1))}return n}constructor(t,n){this._original=e._capture(t,n)}deduceOutcome(t,n){if(!this._original)return null;let r=e._capture(t,n);if(!r||this._original.length!==r.length)return null;let i=[];for(let t=0,n=this._original.length;t<n;t++)i.push(e._deduceOutcome(this._original[t],r[t]));return i}static _deduceOutcome(e,t){let n=Math.min(e.startSelectionOffset,t.startSelectionOffset,Mo(e.text,t.text)),r=Math.min(e.text.length-e.endSelectionOffset,t.text.length-t.endSelectionOffset,No(e.text,t.text)),i=e.text.substring(n,e.text.length-r),a=n,o=t.text.length-r,s=t.text.substring(a,o),c=new N(t.lineNumber,a+1,t.lineNumber,o+1);return new ade(i,e.startSelectionOffset-n,e.endSelectionOffset-n,s,t.startSelectionOffset-n,t.endSelectionOffset-n,c)}},xD={getInitialState:()=>Vh,tokenizeEncoded:(e,t,n)=>Uh(0,n)};async function Qge(e,t,n){if(!n)return SD(t,e.languageIdCodec,xD);let r=await ca.getOrCreate(n);return SD(t,e.languageIdCodec,r||xD)}function $ge(e,t,n,r,i,a,o){let s=`<div>`,c=0,l=0,u=!0;for(let d=0,f=t.getCount();d<f;d++){let f=t.getEndOffset(d),p=``;for(;c<f&&c<i;c++){let t=e.charCodeAt(c),n=t===9;if(l+=qo(t)?2:+!n,c<r){if(n){let e=l%a;l+=e===0?a:a-e}continue}switch(t){case 9:{let e=l%a,t=e===0?a:a-e;l+=t;let n=t;for(;n>0;)o&&u?(p+=`&#160;`,u=!1):(p+=` `,u=!0),n--;break}case 60:p+=`&lt;`,u=!1;break;case 62:p+=`&gt;`,u=!1;break;case 38:p+=`&amp;`,u=!1;break;case 0:p+=`&#00;`,u=!1;break;case 65279:case 8232:case 8233:case 133:p+=`�`,u=!1;break;case 13:p+=`&#8203`,u=!1;break;case 32:o&&u?(p+=`&#160;`,u=!1):(p+=` `,u=!0);break;default:p+=String.fromCharCode(t),u=!1}}if(!(f<=r)&&(s+=`<span style="${t.getInlineStyle(d,n)}">${p}</span>`,f>i||c>=i||r>=i))break}return s+=`</div>`,s}function SD(e,t,n){let r=`<div class="monaco-tokenized-source">`,i=vo(e),a=n.getInitialState();for(let e=0,o=i.length;e<o;e++){let o=i[e];e>0&&(r+=`<br/>`);let s=n.tokenizeEncoded(o,!0,a);Kh.convertToEndOffset(s.tokens,o.length);let c=new Kh(s.tokens,o,t).inflate(),l=0;for(let e=0,t=c.getCount();e<t;e++){let t=c.getClassName(e),n=c.getEndOffset(e);r+=`<span class="${t}">${fo(o.substring(l,n))}</span>`,l=n}a=s.endState}return r+=`</div>`,r}var e_e=class{constructor(e,t,n,r,i){this.decorationId=e,this.index=t,this.lineNumber=n,this.specialHeight=r,this.prefixSum=i,this.maximumSpecialHeight=r,this.deleted=!1}},CD=class{constructor(e,t){this._decorationIDToCustomLine=new TD,this._orderedCustomLines=[],this._pendingChanges=[],this._invalidIndex=1/0,this._hasPending=!1,this._defaultLineHeight=e;for(let e of t)this.insertOrChangeCustomLineHeight(e.decorationId,e.startLineNumber,e.endLineNumber,e.lineHeight)}set defaultLineHeight(e){this._defaultLineHeight=e}get defaultLineHeight(){return this._defaultLineHeight}removeCustomLineHeight(e){this._pendingChanges.push({kind:1,decorationId:e}),this._hasPending=!0}insertOrChangeCustomLineHeight(e,t,n,r){this._pendingChanges.push({kind:0,decorationId:e,startLineNumber:t,endLineNumber:n,lineHeight:r}),this._hasPending=!0}heightForLineNumber(e){this._commit();let t=this._binarySearchOverOrderedCustomLinesArray(e);return t>=0?this._orderedCustomLines[t].maximumSpecialHeight:this._defaultLineHeight}getAccumulatedLineHeightsIncludingLineNumber(e){this._commit();let t=this._binarySearchOverOrderedCustomLinesArray(e);if(t>=0)return this._orderedCustomLines[t].prefixSum+this._orderedCustomLines[t].maximumSpecialHeight;if(t===-1)return this._defaultLineHeight*e;let n=-(t+1),r=this._orderedCustomLines[n-1];return r.prefixSum+r.maximumSpecialHeight+this._defaultLineHeight*(e-r.lineNumber)}onLinesDeleted(e,t){this._pendingChanges.push({kind:2,fromLineNumber:e,toLineNumber:t}),this._hasPending=!0}onLinesInserted(e,t){this._pendingChanges.push({kind:3,fromLineNumber:e,toLineNumber:t}),this._hasPending=!0}_commit(){if(!this._hasPending)return;let e=this._pendingChanges;this._pendingChanges=[],this._hasPending=!1;let t=[],n=new TD;for(let r of e)switch(r.kind){case 1:this._doRemoveCustomLineHeight(r.decorationId,n);break;case 0:this._doInsertOrChangeCustomLineHeight(r.decorationId,r.startLineNumber,r.endLineNumber,r.lineHeight,t,n);break;case 2:this._flushStagedDecorationChanges(t,n),this._doLinesDeleted(r.fromLineNumber,r.toLineNumber);break;case 3:this._flushStagedDecorationChanges(t,n),this._doLinesInserted(r.fromLineNumber,r.toLineNumber,t,n)}this._flushStagedDecorationChanges(t,n)}_doRemoveCustomLineHeight(e,t){let n=this._decorationIDToCustomLine.get(e);if(n){this._decorationIDToCustomLine.delete(e);for(let e of n)e.deleted=!0,this._invalidIndex=Math.min(this._invalidIndex,e.index)}let r=t.get(e);if(r){t.delete(e);for(let e of r)e.deleted=!0}}_doInsertOrChangeCustomLineHeight(e,t,n,r,i,a){this._doRemoveCustomLineHeight(e,a);for(let o=t;o<=n;o++){let t=new e_e(e,-1,o,r,0);i.push(t),a.add(e,t)}}_flushStagedDecorationChanges(e,t){if(e.length===0&&this._invalidIndex===1/0)return;for(let t of e){if(t.deleted)continue;let e=this._binarySearchOverOrderedCustomLinesArray(t.lineNumber),n=e>=0?e:-(e+1);this._orderedCustomLines.splice(n,0,t),this._invalidIndex=Math.min(this._invalidIndex,n)}if(e.length=0,t.clear(),this._invalidIndex===1/0)return;let n=new TD,r=[];for(let e=0;e<this._invalidIndex;e++){let t=this._orderedCustomLines[e];r.push(t),n.add(t.decorationId,t)}let i=0,a=this._invalidIndex>0?r[this._invalidIndex-1]:void 0;for(let e=this._invalidIndex;e<this._orderedCustomLines.length;e++){let t=this._orderedCustomLines[e];if(t.deleted){i++;continue}if(t.index=e-i,a&&a.lineNumber===t.lineNumber)t.maximumSpecialHeight=a.maximumSpecialHeight,t.prefixSum=a.prefixSum;else{let n=t.specialHeight;for(let r=e;r<this._orderedCustomLines.length;r++){let e=this._orderedCustomLines[r];if(!e.deleted){if(e.lineNumber!==t.lineNumber)break;n=Math.max(n,e.specialHeight)}}t.maximumSpecialHeight=n;let r;r=a?a.prefixSum+a.maximumSpecialHeight+this._defaultLineHeight*(t.lineNumber-a.lineNumber-1):this._defaultLineHeight*(t.lineNumber-1),t.prefixSum=r}a=t,r.push(t),n.add(t.decorationId,t)}this._orderedCustomLines=r,this._decorationIDToCustomLine=n,this._invalidIndex=1/0}_doLinesDeleted(e,t){let n=t-e+1,r=this._orderedCustomLines.length,i=this._binarySearchOverOrderedCustomLinesArray(e),a;if(i>=0){a=i;for(let t=i-1;t>=0&&this._orderedCustomLines[t].lineNumber===e;t--)a--}else a=i===-(r+1)&&i!==-1?r-1:-(i+1);let o=this._binarySearchOverOrderedCustomLinesArray(t),s;if(o>=0){s=o;for(let e=o+1;e<r&&this._orderedCustomLines[e].lineNumber===t;e++)s++}else s=o===-(r+1)&&o!==-1?r-1:-(o+1);let c=s>a,l=s===a&&this._orderedCustomLines[a]&&this._orderedCustomLines[a].lineNumber>=e&&this._orderedCustomLines[a].lineNumber<=t;if(c||l){let r=0;for(let e=a;e<=s;e++)r=Math.max(r,this._orderedCustomLines[e].maximumSpecialHeight);let i=0;if(a>0){let t=this._orderedCustomLines[a-1];i=t.prefixSum+t.maximumSpecialHeight+this._defaultLineHeight*(e-t.lineNumber-1)}else i=e>0?(e-1)*this._defaultLineHeight:0;let o=this._orderedCustomLines[a],c=this._orderedCustomLines[s],l=this._orderedCustomLines[s+1],u=l&&l.lineNumber===t+1?l.maximumSpecialHeight:this._defaultLineHeight,d=c.prefixSum+c.maximumSpecialHeight-o.prefixSum+this._defaultLineHeight*(t-c.lineNumber)+this._defaultLineHeight*(o.lineNumber-e)+u-r,f=new Set,p=[],m=new TD,h=0;for(let t=0;t<this._orderedCustomLines.length;t++){let o=this._orderedCustomLines[t];if(t<a)p.push(o),m.add(o.decorationId,o);else if(t>=a&&t<=s){let t=o.decorationId;f.has(t)?h++:(o.index-=h,o.lineNumber=e,o.prefixSum=i,o.maximumSpecialHeight=r,p.push(o),m.add(o.decorationId,o))}else t>s&&(o.index-=h,o.lineNumber-=n,o.prefixSum-=d,p.push(o),m.add(o.decorationId,o));f.add(o.decorationId)}this._orderedCustomLines=p,this._decorationIDToCustomLine=m}else{let e=n*this._defaultLineHeight;for(let r=s;r<this._orderedCustomLines.length;r++){let i=this._orderedCustomLines[r];i.lineNumber>t&&(i.lineNumber-=n,i.prefixSum-=e)}}}_doLinesInserted(e,t,n,r){let i=t-e+1,a=this._binarySearchOverOrderedCustomLinesArray(e),o;if(a>=0){o=a;for(let t=a-1;t>=0&&this._orderedCustomLines[t].lineNumber===e;t--)o--}else o=-(a+1);let s=[],c=new Set;for(let t=o;t<this._orderedCustomLines.length;t++)this._orderedCustomLines[t].lineNumber===e&&c.add(this._orderedCustomLines[t].decorationId);let l=new Set;for(let t=o-1;t>=0;t--)this._orderedCustomLines[t].lineNumber===e-1&&l.add(this._orderedCustomLines[t].decorationId);let u=rw(l,c),d=i*this._defaultLineHeight;for(let e=o;e<this._orderedCustomLines.length;e++)this._orderedCustomLines[e].lineNumber+=i,this._orderedCustomLines[e].prefixSum+=d;if(u.size>0){for(let t of u){let n=this._decorationIDToCustomLine.get(t);if(n){let r=n.reduce((e,t)=>Math.min(e,t.lineNumber),e),i=n.reduce((e,t)=>Math.max(e,t.lineNumber),e),a=n.reduce((e,t)=>Math.max(e,t.specialHeight),0);s.push({decorationId:t,startLineNumber:r,endLineNumber:i,lineHeight:a})}}for(let e of s)this._doInsertOrChangeCustomLineHeight(e.decorationId,e.startLineNumber,e.endLineNumber,e.lineHeight,n,r)}}_binarySearchOverOrderedCustomLinesArray(e){return Ke(this._orderedCustomLines.length,t=>{let n=this._orderedCustomLines[t];return n.lineNumber===e?0:n.lineNumber<e?-1:1})}},wD=class e{constructor(e,t,n,r){this.decorationId=e,this.startLineNumber=t,this.endLineNumber=n,this.lineHeight=r}static fromDecorations(t,n,r){let i=r.options.get(75);return t.map(t=>{let r=n.convertModelRangeToViewRange(t.range);return new e(t.id,r.startLineNumber,r.endLineNumber,t.options.lineHeight?t.options.lineHeight*i:0)})}},TD=class{constructor(){this._map=new Map}add(e,t){let n=this._map.get(e);n?n.push(t):this._map.set(e,[t])}get(e){return this._map.get(e)}delete(e){this._map.delete(e)}clear(){this._map.clear()}},t_e=class{constructor(){this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[]}insert(e){this._hasPending=!0,this._inserts.push(e)}change(e){this._hasPending=!0,this._changes.push(e)}remove(e){this._hasPending=!0,this._removes.push(e)}commit(e){if(!this._hasPending)return;let t=this._inserts,n=this._changes,r=this._removes;this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[],e._commitPendingChanges(t,n,r)}},n_e=class{constructor(e,t,n,r,i){this.id=e,this.afterLineNumber=t,this.ordinal=n,this.height=r,this.minWidth=i,this.prefixSum=0}},r_e=class e{static{this.INSTANCE_COUNT=0}constructor(t,n,r,i,a){this._instanceId=Xo(++e.INSTANCE_COUNT),this._pendingChanges=new t_e,this._lastWhitespaceId=0,this._arr=[],this._prefixSumValidIndex=-1,this._minWidth=-1,this._lineCount=t,this._paddingTop=r,this._paddingBottom=i,this._lineHeightsManager=new CD(n,a)}static findInsertionIndex(e,t,n){let r=0,i=e.length;for(;r<i;){let a=r+i>>>1;t===e[a].afterLineNumber?n<e[a].ordinal?i=a:r=a+1:t<e[a].afterLineNumber?i=a:r=a+1}return r}setDefaultLineHeight(e){this._lineHeightsManager.defaultLineHeight=e}setPadding(e,t){this._paddingTop=e,this._paddingBottom=t}onFlushed(e,t){this._lineCount=e,this._lineHeightsManager=new CD(this._lineHeightsManager.defaultLineHeight,t)}changeLineHeights(e){let t=!1;return e({insertOrChangeCustomLineHeight:(e,n,r,i)=>{t=!0,this._lineHeightsManager.insertOrChangeCustomLineHeight(e,n,r,i)},removeCustomLineHeight:e=>{t=!0,this._lineHeightsManager.removeCustomLineHeight(e)}}),t}changeWhitespace(e){let t=!1;try{e({insertWhitespace:(e,n,r,i)=>{t=!0,e|=0,n|=0,r|=0,i|=0;let a=this._instanceId+ ++this._lastWhitespaceId;return this._pendingChanges.insert(new n_e(a,e,n,r,i)),a},changeOneWhitespace:(e,n,r)=>{t=!0,n|=0,r|=0,this._pendingChanges.change({id:e,newAfterLineNumber:n,newHeight:r})},removeWhitespace:e=>{t=!0,this._pendingChanges.remove({id:e})}})}finally{this._pendingChanges.commit(this)}return t}_commitPendingChanges(e,t,n){if((e.length>0||n.length>0)&&(this._minWidth=-1),e.length+t.length+n.length<=1){for(let t of e)this._insertWhitespace(t);for(let e of t)this._changeOneWhitespace(e.id,e.newAfterLineNumber,e.newHeight);for(let e of n){let t=this._findWhitespaceIndex(e.id);t!==-1&&this._removeWhitespace(t)}return}let r=new Set;for(let e of n)r.add(e.id);let i=new Map;for(let e of t)i.set(e.id,e);let a=e=>{let t=[];for(let n of e)if(!r.has(n.id)){if(i.has(n.id)){let e=i.get(n.id);n.afterLineNumber=e.newAfterLineNumber,n.height=e.newHeight}t.push(n)}return t},o=a(this._arr).concat(a(e));o.sort((e,t)=>e.afterLineNumber===t.afterLineNumber?e.ordinal-t.ordinal:e.afterLineNumber-t.afterLineNumber),this._arr=o,this._prefixSumValidIndex=-1}_insertWhitespace(t){let n=e.findInsertionIndex(this._arr,t.afterLineNumber,t.ordinal);this._arr.splice(n,0,t),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,n-1)}_findWhitespaceIndex(e){let t=this._arr;for(let n=0,r=t.length;n<r;n++)if(t[n].id===e)return n;return-1}_changeOneWhitespace(e,t,n){let r=this._findWhitespaceIndex(e);if(r!==-1&&(this._arr[r].height!==n&&(this._arr[r].height=n,this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,r-1)),this._arr[r].afterLineNumber!==t)){let e=this._arr[r];this._removeWhitespace(r),e.afterLineNumber=t,this._insertWhitespace(e)}}_removeWhitespace(e){this._arr.splice(e,1),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,e-1)}onLinesDeleted(e,t){e|=0,t|=0,this._lineCount-=t-e+1;for(let n=0,r=this._arr.length;n<r;n++){let r=this._arr[n].afterLineNumber;e<=r&&r<=t?this._arr[n].afterLineNumber=e-1:r>t&&(this._arr[n].afterLineNumber-=t-e+1)}this._lineHeightsManager.onLinesDeleted(e,t)}onLinesInserted(e,t){e|=0,t|=0,this._lineCount+=t-e+1;for(let n=0,r=this._arr.length;n<r;n++){let r=this._arr[n].afterLineNumber;e<=r&&(this._arr[n].afterLineNumber+=t-e+1)}this._lineHeightsManager.onLinesInserted(e,t)}getWhitespacesTotalHeight(){return this._arr.length===0?0:this.getWhitespacesAccumulatedHeight(this._arr.length-1)}getWhitespacesAccumulatedHeight(e){e|=0;let t=Math.max(0,this._prefixSumValidIndex+1);t===0&&(this._arr[0].prefixSum=this._arr[0].height,t++);for(let n=t;n<=e;n++)this._arr[n].prefixSum=this._arr[n-1].prefixSum+this._arr[n].height;return this._prefixSumValidIndex=Math.max(this._prefixSumValidIndex,e),this._arr[e].prefixSum}getLinesTotalHeight(){return this._lineHeightsManager.getAccumulatedLineHeightsIncludingLineNumber(this._lineCount)+this.getWhitespacesTotalHeight()+this._paddingTop+this._paddingBottom}getWhitespaceAccumulatedHeightBeforeLineNumber(e){e|=0;let t=this._findLastWhitespaceBeforeLineNumber(e);return t===-1?0:this.getWhitespacesAccumulatedHeight(t)}_findLastWhitespaceBeforeLineNumber(e){e|=0;let t=this._arr,n=0,r=t.length-1;for(;n<=r;){let i=(r-n|0)/2|0,a=n+i|0;if(t[a].afterLineNumber<e){if(a+1>=t.length||t[a+1].afterLineNumber>=e)return a;n=a+1|0}else r=a-1|0}return-1}_findFirstWhitespaceAfterLineNumber(e){e|=0;let t=this._findLastWhitespaceBeforeLineNumber(e)+1;return t<this._arr.length?t:-1}getFirstWhitespaceIndexAfterLineNumber(e){return e|=0,this._findFirstWhitespaceAfterLineNumber(e)}getVerticalOffsetForLineNumber(e,t=!1){e|=0;let n;n=e>1?this._lineHeightsManager.getAccumulatedLineHeightsIncludingLineNumber(e-1):0;let r=this.getWhitespaceAccumulatedHeightBeforeLineNumber(e-+!!t);return n+r+this._paddingTop}getLineHeightForLineNumber(e){return this._lineHeightsManager.heightForLineNumber(e)}getVerticalOffsetAfterLineNumber(e,t=!1){return e|=0,this._lineHeightsManager.getAccumulatedLineHeightsIncludingLineNumber(e)+this.getWhitespaceAccumulatedHeightBeforeLineNumber(e+ +!!t)+this._paddingTop}getWhitespaceMinWidth(){if(this._minWidth===-1){let e=0;for(let t=0,n=this._arr.length;t<n;t++)e=Math.max(e,this._arr[t].minWidth);this._minWidth=e}return this._minWidth}isAfterLines(e){return e>this.getLinesTotalHeight()}isInTopPadding(e){return this._paddingTop!==0&&e<this._paddingTop}isInBottomPadding(e){return this._paddingBottom!==0&&e>=this.getLinesTotalHeight()-this._paddingBottom}getLineNumberAtOrAfterVerticalOffset(e){if(e|=0,e<0)return 1;let t=this._lineCount|0,n=1,r=t;for(;n<r;){let t=(n+r)/2|0,i=this.getLineHeightForLineNumber(t),a=this.getVerticalOffsetForLineNumber(t)|0;if(e>=a+i)n=t+1;else if(e>=a)return t;else r=t}return n>t?t:n}getLinesViewportData(e,t){e|=0,t|=0;let n=this.getLineNumberAtOrAfterVerticalOffset(e)|0,r=this.getVerticalOffsetForLineNumber(n)|0,i=this._lineCount|0,a=this.getFirstWhitespaceIndexAfterLineNumber(n)|0,o=this.getWhitespacesCount()|0,s,c;a===-1?(a=o,c=i+1,s=0):(c=this.getAfterLineNumberForWhitespaceIndex(a)|0,s=this.getHeightForWhitespaceIndex(a)|0);let l=r,u=l,d=5e5,f=0;r>=d&&(f=Math.floor(r/d)*d,f=Math.floor(f/this._lineHeightsManager.defaultLineHeight)*this._lineHeightsManager.defaultLineHeight,u-=f);let p=[],m=e+(t-e)/2,h=-1;for(let e=n;e<=i;e++){let r=this.getLineHeightForLineNumber(e);if(h===-1){let t=l,n=l+r;(t<=m&&m<n||t>m)&&(h=e)}for(l+=r,p[e-n]=u,u+=r;c===e;)u+=s,l+=s,a++,a>=o?c=i+1:(c=this.getAfterLineNumberForWhitespaceIndex(a)|0,s=this.getHeightForWhitespaceIndex(a)|0);if(l>=t){i=e;break}}h===-1&&(h=i);let g=this.getVerticalOffsetForLineNumber(i)|0,_=n,v=i;return _<v&&r<e&&_++,_<v&&g+this.getLineHeightForLineNumber(i)>t&&v--,{bigNumbersDelta:f,startLineNumber:n,endLineNumber:i,relativeVerticalOffset:p,centeredLineNumber:h,completelyVisibleStartLineNumber:_,completelyVisibleEndLineNumber:v,lineHeight:this._lineHeightsManager.defaultLineHeight}}getVerticalOffsetForWhitespaceIndex(e){e|=0;let t=this.getAfterLineNumberForWhitespaceIndex(e),n;n=t>=1?this._lineHeightsManager.getAccumulatedLineHeightsIncludingLineNumber(t):0;let r;return r=e>0?this.getWhitespacesAccumulatedHeight(e-1):0,n+r+this._paddingTop}getWhitespaceIndexAtOrAfterVerticallOffset(e){e|=0;let t=0,n=this.getWhitespacesCount()-1;if(n<0)return-1;let r=this.getVerticalOffsetForWhitespaceIndex(n),i=this.getHeightForWhitespaceIndex(n);if(e>=r+i)return-1;for(;t<n;){let r=Math.floor((t+n)/2),i=this.getVerticalOffsetForWhitespaceIndex(r),a=this.getHeightForWhitespaceIndex(r);if(e>=i+a)t=r+1;else if(e>=i)return r;else n=r}return t}getWhitespaceAtVerticalOffset(e){e|=0;let t=this.getWhitespaceIndexAtOrAfterVerticallOffset(e);if(t<0||t>=this.getWhitespacesCount())return null;let n=this.getVerticalOffsetForWhitespaceIndex(t);if(n>e)return null;let r=this.getHeightForWhitespaceIndex(t);return{id:this.getIdForWhitespaceIndex(t),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(t),verticalOffset:n,height:r}}getWhitespaceViewportData(e,t){e|=0,t|=0;let n=this.getWhitespaceIndexAtOrAfterVerticallOffset(e),r=this.getWhitespacesCount()-1;if(n<0)return[];let i=[];for(let e=n;e<=r;e++){let n=this.getVerticalOffsetForWhitespaceIndex(e),r=this.getHeightForWhitespaceIndex(e);if(n>=t)break;i.push({id:this.getIdForWhitespaceIndex(e),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(e),verticalOffset:n,height:r})}return i}getWhitespaces(){return this._arr.slice(0)}getWhitespacesCount(){return this._arr.length}getIdForWhitespaceIndex(e){return e|=0,this._arr[e].id}getAfterLineNumberForWhitespaceIndex(e){return e|=0,this._arr[e].afterLineNumber}getHeightForWhitespaceIndex(e){return e|=0,this._arr[e].height}},i_e=125,ED=class{constructor(e,t,n,r){e|=0,t|=0,n|=0,r|=0,e<0&&(e=0),t<0&&(t=0),n<0&&(n=0),r<0&&(r=0),this.width=e,this.contentWidth=t,this.scrollWidth=Math.max(e,t),this.height=n,this.contentHeight=r,this.scrollHeight=Math.max(n,r)}equals(e){return this.width===e.width&&this.contentWidth===e.contentWidth&&this.height===e.height&&this.contentHeight===e.contentHeight}},a_e=class extends O{constructor(e,t){super(),this._onDidContentSizeChange=this._register(new A),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._dimensions=new ED(0,0,0,0),this._scrollable=this._register(new Iy({forceIntegerValues:!0,smoothScrollDuration:e,scheduleAtNextAnimationFrame:t})),this.onDidScroll=this._scrollable.onScroll}getScrollable(){return this._scrollable}setSmoothScrollDuration(e){this._scrollable.setSmoothScrollDuration(e)}validateScrollPosition(e){return this._scrollable.validateScrollPosition(e)}getScrollDimensions(){return this._dimensions}setScrollDimensions(e){if(this._dimensions.equals(e))return;let t=this._dimensions;this._dimensions=e,this._scrollable.setScrollDimensions({width:e.width,scrollWidth:e.scrollWidth,height:e.height,scrollHeight:e.scrollHeight},!0);let n=t.contentWidth!==e.contentWidth,r=t.contentHeight!==e.contentHeight;(n||r)&&this._onDidContentSizeChange.fire(new _D(t.contentWidth,t.contentHeight,e.contentWidth,e.contentHeight))}getFutureScrollPosition(){return this._scrollable.getFutureScrollPosition()}getCurrentScrollPosition(){return this._scrollable.getCurrentScrollPosition()}setScrollPositionNow(e){this._scrollable.setScrollPositionNow(e)}setScrollPositionSmooth(e){this._scrollable.setScrollPositionSmooth(e)}hasPendingScrollAnimation(){return this._scrollable.hasPendingScrollAnimation()}},o_e=class extends O{constructor(e,t,n,r){super(),this._configuration=e;let i=this._configuration.options,a=i.get(165),o=i.get(96);this._linesLayout=new r_e(t,i.get(75),o.top,o.bottom,n),this._maxLineWidth=0,this._overlayWidgetsMinWidth=0,this._scrollable=this._register(new a_e(0,r)),this._configureSmoothScrollDuration(),this._scrollable.setScrollDimensions(new ED(a.contentWidth,0,a.height,0)),this.onDidScroll=this._scrollable.onDidScroll,this.onDidContentSizeChange=this._scrollable.onDidContentSizeChange,this._updateHeight()}getScrollable(){return this._scrollable.getScrollable()}onHeightMaybeChanged(){this._updateHeight()}_configureSmoothScrollDuration(){this._scrollable.setSmoothScrollDuration(this._configuration.options.get(130)?i_e:0)}onConfigurationChanged(e){let t=this._configuration.options;if(e.hasChanged(75)&&this._linesLayout.setDefaultLineHeight(t.get(75)),e.hasChanged(96)){let e=t.get(96);this._linesLayout.setPadding(e.top,e.bottom)}if(e.hasChanged(165)){let e=t.get(165),n=e.contentWidth,r=e.height,i=this._scrollable.getScrollDimensions(),a=i.contentWidth;this._scrollable.setScrollDimensions(new ED(n,i.contentWidth,r,this._getContentHeight(n,r,a)))}else this._updateHeight();e.hasChanged(130)&&this._configureSmoothScrollDuration()}onFlushed(e,t){this._linesLayout.onFlushed(e,t)}onLinesDeleted(e,t){this._linesLayout.onLinesDeleted(e,t)}onLinesInserted(e,t){this._linesLayout.onLinesInserted(e,t)}_getHorizontalScrollbarHeight(e,t){let n=this._configuration.options.get(117);return n.horizontal===2||e>=t?0:n.horizontalScrollbarSize}_getContentHeight(e,t,n){let r=this._configuration.options,i=this._linesLayout.getLinesTotalHeight();return r.get(119)?i+=Math.max(0,t-r.get(75)-r.get(96).bottom):r.get(117).ignoreHorizontalScrollbarInContentHeight||(i+=this._getHorizontalScrollbarHeight(e,n)),i}_updateHeight(){let e=this._scrollable.getScrollDimensions(),t=e.width,n=e.height,r=e.contentWidth;this._scrollable.setScrollDimensions(new ED(t,e.contentWidth,n,this._getContentHeight(t,n,r)))}getCurrentViewport(){let e=this._scrollable.getScrollDimensions(),t=this._scrollable.getCurrentScrollPosition();return new ag(t.scrollTop,t.scrollLeft,e.width,e.height)}getFutureViewport(){let e=this._scrollable.getScrollDimensions(),t=this._scrollable.getFutureScrollPosition();return new ag(t.scrollTop,t.scrollLeft,e.width,e.height)}_computeContentWidth(){let e=this._configuration.options,t=this._maxLineWidth,n=e.get(166),r=e.get(59),i=e.get(165);if(n.isViewportWrapping){let n=e.get(81);return t>i.contentWidth+r.typicalHalfwidthCharacterWidth&&n.enabled&&n.side===`right`?t+i.verticalScrollbarWidth:t}{let n=e.get(118)*r.typicalHalfwidthCharacterWidth,a=this._linesLayout.getWhitespaceMinWidth();return Math.max(t+n+i.verticalScrollbarWidth,a,this._overlayWidgetsMinWidth)}}setMaxLineWidth(e){this._maxLineWidth=e,this._updateContentWidth()}setOverlayWidgetsMinWidth(e){this._overlayWidgetsMinWidth=e,this._updateContentWidth()}_updateContentWidth(){let e=this._scrollable.getScrollDimensions();this._scrollable.setScrollDimensions(new ED(e.width,this._computeContentWidth(),e.height,e.contentHeight)),this._updateHeight()}saveState(){let e=this._scrollable.getFutureScrollPosition(),t=e.scrollTop,n=this._linesLayout.getLineNumberAtOrAfterVerticalOffset(t);return{scrollTop:t,scrollTopWithoutViewZones:t-this._linesLayout.getWhitespaceAccumulatedHeightBeforeLineNumber(n),scrollLeft:e.scrollLeft}}changeWhitespace(e){let t=this._linesLayout.changeWhitespace(e);return t&&this.onHeightMaybeChanged(),t}changeSpecialLineHeights(e){let t=this._linesLayout.changeLineHeights(e);return t&&this.onHeightMaybeChanged(),t}getVerticalOffsetForLineNumber(e,t=!1){return this._linesLayout.getVerticalOffsetForLineNumber(e,t)}getVerticalOffsetAfterLineNumber(e,t=!1){return this._linesLayout.getVerticalOffsetAfterLineNumber(e,t)}getLineHeightForLineNumber(e){return this._linesLayout.getLineHeightForLineNumber(e)}isAfterLines(e){return this._linesLayout.isAfterLines(e)}isInTopPadding(e){return this._linesLayout.isInTopPadding(e)}isInBottomPadding(e){return this._linesLayout.isInBottomPadding(e)}getLineNumberAtVerticalOffset(e){return this._linesLayout.getLineNumberAtOrAfterVerticalOffset(e)}getWhitespaceAtVerticalOffset(e){return this._linesLayout.getWhitespaceAtVerticalOffset(e)}getLinesViewportData(){let e=this.getCurrentViewport();return this._linesLayout.getLinesViewportData(e.top,e.top+e.height)}getLinesViewportDataAtScrollTop(e){let t=this._scrollable.getScrollDimensions();return e+t.height>t.scrollHeight&&(e=t.scrollHeight-t.height),e<0&&(e=0),this._linesLayout.getLinesViewportData(e,e+t.height)}getWhitespaceViewportData(){let e=this.getCurrentViewport();return this._linesLayout.getWhitespaceViewportData(e.top,e.top+e.height)}getWhitespaces(){return this._linesLayout.getWhitespaces()}getContentWidth(){return this._scrollable.getScrollDimensions().contentWidth}getScrollWidth(){return this._scrollable.getScrollDimensions().scrollWidth}getContentHeight(){return this._scrollable.getScrollDimensions().contentHeight}getScrollHeight(){return this._scrollable.getScrollDimensions().scrollHeight}getCurrentScrollLeft(){return this._scrollable.getCurrentScrollPosition().scrollLeft}getCurrentScrollTop(){return this._scrollable.getCurrentScrollPosition().scrollTop}validateScrollPosition(e){return this._scrollable.validateScrollPosition(e)}setScrollPosition(e,t){t===1?this._scrollable.setScrollPositionNow(e):this._scrollable.setScrollPositionSmooth(e)}hasPendingScrollAnimation(){return this._scrollable.hasPendingScrollAnimation()}deltaScrollNow(e,t){let n=this._scrollable.getCurrentScrollPosition();this._scrollable.setScrollPositionNow({scrollLeft:n.scrollLeft+e,scrollTop:n.scrollTop+t})}},DD=class{constructor(e,t,n){this.range=e,this.inlineClassName=t,this.type=n}},s_e=class{constructor(e,t,n){this.context=e,this.model=t,this.coordinatesConverter=n,this._decorationsCache=Object.create(null)}getInlineDecorations(e){let t=new N(e,1,e,this.model.getLineMaxColumn(e)),n=this.coordinatesConverter.convertModelRangeToViewRange(t);return this.getDecorations(n,!1,!1).inlineDecorations}getDecorations(e,t,n){let r=this.context.getModelDecorations(e,t,n),i=e.startLineNumber,a=e.endLineNumber,o=[],s=0,c=[],l=[];for(let e=i;e<=a;e++)c[e-i]=[],l[e-i]=!1;for(let e=0,t=r.length;e<t;e++){let t=r[e],n=t.options;if(!CS(this.model,t))continue;let u=this._getOrCreateViewModelDecoration(t),d=u.range;if(o[s++]=u,n.inlineClassName){let e=new DD(d,n.inlineClassName,n.inlineClassNameAffectsLetterSpacing?3:0),t=Math.max(i,d.startLineNumber),r=Math.min(a,d.endLineNumber);for(let a=t;a<=r;a++)c[a-i].push(e),n.affectsFont&&(l[a-i]=!0)}if(n.beforeContentClassName&&i<=d.startLineNumber&&d.startLineNumber<=a){let e=new DD(new N(d.startLineNumber,d.startColumn,d.startLineNumber,d.startColumn),n.beforeContentClassName,1);c[d.startLineNumber-i].push(e),n.affectsFont&&(l[d.startLineNumber-i]=!0)}if(n.afterContentClassName&&i<=d.endLineNumber&&d.endLineNumber<=a){let e=new DD(new N(d.endLineNumber,d.endColumn,d.endLineNumber,d.endColumn),n.afterContentClassName,2);c[d.endLineNumber-i].push(e),n.affectsFont&&(l[d.endLineNumber-i]=!0)}}return{decorations:o,inlineDecorations:c,hasVariableFonts:l}}reset(){this._decorationsCache=Object.create(null)}onModelDecorationsChanged(){this.reset()}onLineMappingChanged(){this.reset()}_getOrCreateViewModelDecoration(e){let t=e.id,n=this._decorationsCache[t];if(!n){let r=e.range,i=e.options,a;if(i.isWholeLine){let e=this.coordinatesConverter.convertModelPositionToViewPosition(new M(r.startLineNumber,1),0,!1,!0),t=this.coordinatesConverter.convertModelPositionToViewPosition(new M(r.endLineNumber,this.model.getLineMaxColumn(r.endLineNumber)),1);a=new N(e.lineNumber,e.column,t.lineNumber,t.column)}else a=this.coordinatesConverter.convertModelRangeToViewRange(r,1);n=new SS(a,i),this._decorationsCache[t]=n}return n}},c_e=class{constructor(e){this.context=e}getInlineDecorations(e){let t=this.context.getInjectionOffsets(e);if(!t)return[];let n=[],r=0,i=0,a=this.context.getInjectionOptions(e),o=this.context.getBreakOffsets(e);for(let s=0;s<o.length;s++){let c=[];n[s]=c;let l=s>0?o[s-1]:0,u=o[s];for(;i<t.length;){let n=a[i].content.length,o=t[i]+r,d=o+n;if(o>u)break;if(l<d){let t=a[i];if(t.inlineClassName){let n=this.context.getWrappedTextIndentLength(e),r=s>0?n:0,i=r+Math.max(o-l,0),a=r+Math.min(d-l,u-l);if(i!==a){let n=this.context.getBaseViewLineNumber(e)+s,r=new N(n,i+1,n,a+1),o=t.inlineClassNameAffectsLetterSpacing?3:0;c.push(new DD(r,t.inlineClassName,o))}}}if(d<=u)r+=n,i++;else break}}return n}},l_e=class{constructor(e,t,n,r,i){this.editorId=e,this.configuration=n,this._linesCollection=r;let a={getModelDecorations:(e,t,n)=>this._linesCollection.getDecorationsInRange(e,this.editorId,Ur(this.configuration.options),Wr(this.configuration.options),t,n)};this._inlineDecorationsComputer=new s_e(a,t,i),this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}_clearCachedModelDecorationsResolver(){this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}dispose(){this._inlineDecorationsComputer.reset(),this._clearCachedModelDecorationsResolver()}reset(){this._inlineDecorationsComputer.reset(),this._clearCachedModelDecorationsResolver()}onModelDecorationsChanged(){this._inlineDecorationsComputer.onModelDecorationsChanged(),this._clearCachedModelDecorationsResolver()}onLineMappingChanged(){this._inlineDecorationsComputer.onLineMappingChanged(),this._clearCachedModelDecorationsResolver()}getMinimapDecorationsInRange(e){return this._inlineDecorationsComputer.getDecorations(e,!0,!1).decorations}getDecorationsViewportData(e){let t=this._cachedModelDecorationsResolver!==null;return t&&=e.equalsRange(this._cachedModelDecorationsResolverViewRange),t||(this._cachedModelDecorationsResolver=this._inlineDecorationsComputer.getDecorations(e,!1,!1),this._cachedModelDecorationsResolverViewRange=e),this._cachedModelDecorationsResolver}getDecorationsOnLine(e,t=!1,n=!1){let r=new N(e,this._linesCollection.getViewLineMinColumn(e),e,this._linesCollection.getViewLineMaxColumn(e));return this._inlineDecorationsComputer.getDecorations(r,t,n)}};function OD(e,t){return e===null?t?kD.INSTANCE:AD.INSTANCE:new u_e(e,t)}var u_e=class{constructor(e,t){this._projectionData=e,this._isVisible=t}isVisible(){return this._isVisible}setVisible(e){return this._isVisible=e,this}getProjectionData(){return this._projectionData}getViewLineCount(){return this._isVisible?this._projectionData.getOutputLineCount():0}getViewLineContent(e,t,n){this._assertVisible();let r=n>0?this._projectionData.breakOffsets[n-1]:0,i=this._projectionData.breakOffsets[n],a;if(this._projectionData.injectionOffsets!==null){let n=this._projectionData.injectionOffsets.map((e,t)=>new KC(0,0,e+1,this._projectionData.injectionOptions[t],0));a=KC.applyInjectedText(e.getLineContent(t),n).substring(r,i)}else a=e.getValueInRange({startLineNumber:t,startColumn:r+1,endLineNumber:t,endColumn:i+1});return n>0&&(a=MD(this._projectionData.wrappedTextIndentLength)+a),a}getViewLineLength(e,t,n){return this._assertVisible(),this._projectionData.getLineLength(n)}getViewLineMinColumn(e,t,n){return this._assertVisible(),this._projectionData.getMinOutputOffset(n)+1}getViewLineMaxColumn(e,t,n){return this._assertVisible(),this._projectionData.getMaxOutputOffset(n)+1}getViewLineData(e,t,n,r){let i=[];return this.getViewLinesData(e,t,n,1,r,0,[!0],i),i[0]}getViewLinesData(e,t,n,r,i,a,o,s){this._assertVisible();let c=this._projectionData,l=c.injectionOffsets,u=c.injectionOptions,d=new c_e({getInjectionOptions:()=>u,getInjectionOffsets:()=>l,getBreakOffsets:()=>c.breakOffsets,getWrappedTextIndentLength:()=>c.wrappedTextIndentLength,getBaseViewLineNumber:()=>i}).getInlineDecorations(t),f=lge(e.tokenization.getLineTokens(t),u,l);for(let e=n;e<n+r;e++){let t=a+e-n;if(!o[t]){s[t]=null;continue}s[t]=this._getViewLineData(f,d?d[e]:null,e)}}_getViewLineData(e,t,n){this._assertVisible();let r=this._projectionData,i=n>0?r.wrappedTextIndentLength:0,a=n>0?r.breakOffsets[n-1]:0,o=r.breakOffsets[n],s=e.sliceAndInflate(a,o,i),c=s.getLineContent();n>0&&(c=MD(r.wrappedTextIndentLength)+c);let l=this._projectionData.getMinOutputOffset(n)+1,u=c.length+1,d=n+1<this.getViewLineCount(),f=n===0?0:r.breakOffsetsVisibleColumn[n-1];return new og(c,d,l,u,f,s,t)}getModelColumnOfViewPosition(e,t){return this._assertVisible(),this._projectionData.translateToInputOffset(e,t-1)+1}getViewPositionOfModelPosition(e,t,n=2){return this._assertVisible(),this._projectionData.translateToOutputPosition(t-1,n).toPosition(e)}getViewLineNumberOfModelPosition(e,t){return this._assertVisible(),e+this._projectionData.translateToOutputPosition(t-1).outputLineIndex}normalizePosition(e,t,n){let r=t.lineNumber-e;return this._projectionData.normalizeOutputPosition(e,t.column-1,n).toPosition(r)}getInjectedTextAt(e,t){return this._projectionData.getInjectedText(e,t-1)}_assertVisible(){if(!this._isVisible)throw Error(`Not supported`)}},kD=class e{static{this.INSTANCE=new e}constructor(){}isVisible(){return!0}setVisible(e){return e?this:AD.INSTANCE}getProjectionData(){return null}getViewLineCount(){return 1}getViewLineContent(e,t,n){return e.getLineContent(t)}getViewLineLength(e,t,n){return e.getLineLength(t)}getViewLineMinColumn(e,t,n){return e.getLineMinColumn(t)}getViewLineMaxColumn(e,t,n){return e.getLineMaxColumn(t)}getViewLineData(e,t,n,r){let i=e.tokenization.getLineTokens(t),a=i.getLineContent();return new og(a,!1,1,a.length+1,0,i.inflate(),null)}getViewLinesData(e,t,n,r,i,a,o,s){if(!o[a]){s[a]=null;return}s[a]=this.getViewLineData(e,t,0,i)}getModelColumnOfViewPosition(e,t){return t}getViewPositionOfModelPosition(e,t){return new M(e,t)}getViewLineNumberOfModelPosition(e,t){return e}normalizePosition(e,t,n){return t}getInjectedTextAt(e,t){return null}},AD=class e{static{this.INSTANCE=new e}constructor(){}isVisible(){return!1}setVisible(e){return e?kD.INSTANCE:this}getProjectionData(){return null}getViewLineCount(){return 0}getViewLineContent(e,t,n){throw Error(`Not supported`)}getViewLineLength(e,t,n){throw Error(`Not supported`)}getViewLineMinColumn(e,t,n){throw Error(`Not supported`)}getViewLineMaxColumn(e,t,n){throw Error(`Not supported`)}getViewLineData(e,t,n,r){throw Error(`Not supported`)}getViewLinesData(e,t,n,r,i,a,o,s){throw Error(`Not supported`)}getModelColumnOfViewPosition(e,t){throw Error(`Not supported`)}getViewPositionOfModelPosition(e,t){throw Error(`Not supported`)}getViewLineNumberOfModelPosition(e,t){throw Error(`Not supported`)}normalizePosition(e,t,n){throw Error(`Not supported`)}getInjectedTextAt(e,t){throw Error(`Not supported`)}},jD=[``];function MD(e){if(e>=jD.length)for(let t=1;t<=e;t++)jD[t]=d_e(t);return jD[e]}function d_e(e){return Array(e+1).join(` `)}var f_e=class{constructor(e){this._model=e}_validPosition(e){return this._model.validatePosition(e)}_validRange(e){return this._model.validateRange(e)}convertViewPositionToModelPosition(e){return this._validPosition(e)}convertViewRangeToModelRange(e){return this._validRange(e)}validateViewPosition(e,t){return this._validPosition(t)}validateViewRange(e,t){return this._validRange(t)}convertModelPositionToViewPosition(e){return this._validPosition(e)}convertModelRangeToViewRange(e){return this._validRange(e)}modelPositionIsVisible(e){let t=this._model.getLineCount();return!(e.lineNumber<1||e.lineNumber>t)}getModelLineViewLineCount(e){return 1}getViewLineNumberOfModelPosition(e,t){return e}},p_e=class{constructor(e,t,n,r,i,a,o,s,c,l,u){this._editorId=e,this.model=t,this._validModelVersionId=-1,this._domLineBreaksComputerFactory=n,this._monospaceLineBreaksComputerFactory=r,this.fontInfo=i,this.tabSize=a,this.wrappingStrategy=o,this.wrappingColumn=s,this.wrappingIndent=c,this.wordBreak=l,this.wrapOnEscapedLineFeeds=u,this._constructLines(!0,null)}dispose(){this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[])}createCoordinatesConverter(){return new h_e(this)}_constructLines(e,t){this.modelLineProjections=[],e&&(this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[]));let n=this.model.getLinesContent().length,r=this.createLineBreaksComputer();for(let e=0;e<n;e++)r.addRequest(e+1,t?t[e]:null);let i=r.finalize(),a=[],o=this.hiddenAreasDecorationIds.map(e=>this.model.getDecorationRange(e)).sort(N.compareRangesUsingStarts),s=1,c=0,l=-1,u=l+1<o.length?c+1:n+2;for(let e=0;e<n;e++){let t=e+1;t===u&&(l++,s=o[l].startLineNumber,c=o[l].endLineNumber,u=l+1<o.length?c+1:n+2);let r=t>=s&&t<=c,d=OD(i[e],!r);a[e]=d.getViewLineCount(),this.modelLineProjections[e]=d}this._validModelVersionId=this.model.getVersionId(),this.projectedModelLineLineCounts=new Hoe(a),this._ensureAtLeastOneVisibleLine()}getHiddenAreas(){return this.hiddenAreasDecorationIds.map(e=>this.model.getDecorationRange(e))}setHiddenAreas(e){let t=m_e(e.map(e=>this.model.validateRange(e))),n=this.hiddenAreasDecorationIds.map(e=>this.model.getDecorationRange(e)).sort(N.compareRangesUsingStarts);if(t.length===n.length){let e=!1;for(let r=0;r<t.length;r++)if(!t[r].equalsRange(n[r])){e=!0;break}if(!e)return!1}let r=t.map(e=>({range:e,options:QE.EMPTY}));this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,r);let i=t,a=1,o=0,s=-1,c=s+1<i.length?o+1:this.modelLineProjections.length+2,l=!1;for(let e=0;e<this.modelLineProjections.length;e++){let t=e+1;t===c&&(s++,a=i[s].startLineNumber,o=i[s].endLineNumber,c=s+1<i.length?o+1:this.modelLineProjections.length+2);let n=!1;if(t>=a&&t<=o?this.modelLineProjections[e].isVisible()&&(this.modelLineProjections[e]=this.modelLineProjections[e].setVisible(!1),n=!0):(l=!0,this.modelLineProjections[e].isVisible()||(this.modelLineProjections[e]=this.modelLineProjections[e].setVisible(!0),n=!0)),n){let t=this.modelLineProjections[e].getViewLineCount();this.projectedModelLineLineCounts.setValue(e,t)}}return l||this.setHiddenAreas([]),!0}modelPositionIsVisible(e,t){return e<1||e>this.modelLineProjections.length?!1:this.modelLineProjections[e-1].isVisible()}getModelLineViewLineCount(e){return e<1||e>this.modelLineProjections.length?1:this.modelLineProjections[e-1].getViewLineCount()}setTabSize(e){return this.tabSize!==e&&(this.tabSize=e,this._constructLines(!1,null),!0)}setWrappingSettings(e,t,n,r,i){let a=this.fontInfo.equals(e),o=this.wrappingStrategy===t,s=this.wrappingColumn===n,c=this.wrappingIndent===r,l=this.wordBreak===i;if(a&&o&&s&&c&&l)return!1;let u=a&&o&&!s&&c&&l;this.fontInfo=e,this.wrappingStrategy=t,this.wrappingColumn=n,this.wrappingIndent=r,this.wordBreak=i;let d=null;if(u){d=[];for(let e=0,t=this.modelLineProjections.length;e<t;e++)d[e]=this.modelLineProjections[e].getProjectionData()}return this._constructLines(!1,d),!0}createLineBreaksComputer(e){let t=this.wrappingStrategy===`advanced`?this._domLineBreaksComputerFactory:this._monospaceLineBreaksComputerFactory,n=e??{getLineContent:e=>this.model.getLineContent(e),getLineInjectedText:e=>this.model.getLineInjectedText(e,this._editorId)};return t.createLineBreaksComputer(n,this.fontInfo,this.tabSize,this.wrappingColumn,this.wrappingIndent,this.wordBreak,this.wrapOnEscapedLineFeeds)}onModelFlushed(){this._constructLines(!0,null)}onModelLinesDeleted(e,t,n){if(!e||e<=this._validModelVersionId)return null;let r=t===1?1:this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,i=this.projectedModelLineLineCounts.getPrefixSum(n);return this.modelLineProjections.splice(t-1,n-t+1),this.projectedModelLineLineCounts.removeValues(t-1,n-t+1),new mD(r,i)}onModelLinesInserted(e,t,n,r){if(!e||e<=this._validModelVersionId)return null;let i=t>2&&!this.modelLineProjections[t-2].isVisible(),a=t===1?1:this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,o=0,s=[],c=[];for(let e=0,t=r.length;e<t;e++){let t=OD(r[e],!i);s.push(t);let n=t.getViewLineCount();o+=n,c[e]=n}return this.modelLineProjections=this.modelLineProjections.slice(0,t-1).concat(s).concat(this.modelLineProjections.slice(t-1)),this.projectedModelLineLineCounts.insertValues(t-1,c),new hD(a,a+o-1)}onModelLineChanged(e,t,n){if(e!==null&&e<=this._validModelVersionId)return[!1,null,null,null];let r=t-1,i=this.modelLineProjections[r].getViewLineCount(),a=OD(n,this.modelLineProjections[r].isVisible());this.modelLineProjections[r]=a;let o=this.modelLineProjections[r].getViewLineCount(),s=!1,c=0,l=-1,u=0,d=-1,f=0,p=-1;i>o?(c=this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,l=c+o-1,f=l+1,p=f+(i-o)-1,s=!0):i<o?(c=this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,l=c+i-1,u=l+1,d=u+(o-i)-1,s=!0):(c=this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,l=c+o-1),this.projectedModelLineLineCounts.setValue(r,o);let m=c<=l?new pD(c,l-c+1):null,h=u<=d?new hD(u,d):null,g=f<=p?new mD(f,p):null;return[s,m,h,g]}acceptVersionId(e){this._validModelVersionId=e,this._ensureAtLeastOneVisibleLine()}_ensureAtLeastOneVisibleLine(){this.getViewLineCount()===0&&this.modelLineProjections.length>0&&(this.modelLineProjections[0]=this.modelLineProjections[0].setVisible(!0),this.projectedModelLineLineCounts.setValue(0,this.modelLineProjections[0].getViewLineCount()))}getViewLineCount(){return this.projectedModelLineLineCounts.getTotalSum()}_toValidViewLineNumber(e){if(e<1)return 1;let t=this.getViewLineCount();return e>t?t:e|0}getActiveIndentGuide(e,t,n){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t),n=this._toValidViewLineNumber(n);let r=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),i=this.convertViewPositionToModelPosition(t,this.getViewLineMinColumn(t)),a=this.convertViewPositionToModelPosition(n,this.getViewLineMinColumn(n)),o=this.model.guides.getActiveIndentGuide(r.lineNumber,i.lineNumber,a.lineNumber),s=this.convertModelPositionToViewPosition(o.startLineNumber,1),c=this.convertModelPositionToViewPosition(o.endLineNumber,this.model.getLineMaxColumn(o.endLineNumber));return{startLineNumber:s.lineNumber,endLineNumber:c.lineNumber,indent:o.indent}}getViewLineInfo(e){e=this._toValidViewLineNumber(e);let t=this.projectedModelLineLineCounts.getIndexOf(e-1),n=t.index,r=t.remainder;return new ND(n+1,r)}getMinColumnOfViewLine(e){return this.modelLineProjections[e.modelLineNumber-1].getViewLineMinColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx)}getMaxColumnOfViewLine(e){return this.modelLineProjections[e.modelLineNumber-1].getViewLineMaxColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx)}getModelStartPositionOfViewLine(e){let t=this.modelLineProjections[e.modelLineNumber-1],n=t.getViewLineMinColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx),r=t.getModelColumnOfViewPosition(e.modelLineWrappedLineIdx,n);return new M(e.modelLineNumber,r)}getModelEndPositionOfViewLine(e){let t=this.modelLineProjections[e.modelLineNumber-1],n=t.getViewLineMaxColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx),r=t.getModelColumnOfViewPosition(e.modelLineWrappedLineIdx,n);return new M(e.modelLineNumber,r)}getViewLineInfosGroupedByModelRanges(e,t){let n=this.getViewLineInfo(e),r=this.getViewLineInfo(t),i=[],a=this.getModelStartPositionOfViewLine(n),o=[];for(let e=n.modelLineNumber;e<=r.modelLineNumber;e++){let t=this.modelLineProjections[e-1];if(t.isVisible()){let i=e===n.modelLineNumber?n.modelLineWrappedLineIdx:0,a=e===r.modelLineNumber?r.modelLineWrappedLineIdx+1:t.getViewLineCount();for(let t=i;t<a;t++)o.push(new ND(e,t))}if(!t.isVisible()&&a){let t=new M(e-1,this.model.getLineMaxColumn(e-1)+1),n=N.fromPositions(a,t);i.push(new PD(n,o)),o=[],a=null}else t.isVisible()&&!a&&(a=new M(e,1))}if(a){let e=N.fromPositions(a,this.getModelEndPositionOfViewLine(r));i.push(new PD(e,o))}return i}getViewLinesBracketGuides(e,t,n,r){let i=n?this.convertViewPositionToModelPosition(n.lineNumber,n.column):null,a=[];for(let n of this.getViewLineInfosGroupedByModelRanges(e,t)){let e=n.modelRange.startLineNumber,t=this.model.guides.getLinesBracketGuides(e,n.modelRange.endLineNumber,i,r);for(let r of n.viewLines){let n=t[r.modelLineNumber-e].map(e=>{if(e.forWrappedLinesAfterColumn!==-1&&this.modelLineProjections[r.modelLineNumber-1].getViewPositionOfModelPosition(0,e.forWrappedLinesAfterColumn).lineNumber>=r.modelLineWrappedLineIdx||e.forWrappedLinesBeforeOrAtColumn!==-1&&this.modelLineProjections[r.modelLineNumber-1].getViewPositionOfModelPosition(0,e.forWrappedLinesBeforeOrAtColumn).lineNumber<r.modelLineWrappedLineIdx)return;if(!e.horizontalLine)return e;let t=-1;if(e.column!==-1){let n=this.modelLineProjections[r.modelLineNumber-1].getViewPositionOfModelPosition(0,e.column);if(n.lineNumber===r.modelLineWrappedLineIdx)t=n.column;else if(n.lineNumber<r.modelLineWrappedLineIdx)t=this.getMinColumnOfViewLine(r);else if(n.lineNumber>r.modelLineWrappedLineIdx)return}let n=this.convertModelPositionToViewPosition(r.modelLineNumber,e.horizontalLine.endColumn),i=this.modelLineProjections[r.modelLineNumber-1].getViewPositionOfModelPosition(0,e.horizontalLine.endColumn);if(i.lineNumber===r.modelLineWrappedLineIdx)return new sS(e.visibleColumn,t,e.className,new cS(e.horizontalLine.top,n.column),-1,-1);if(!(i.lineNumber<r.modelLineWrappedLineIdx))return e.visibleColumn===-1?new sS(e.visibleColumn,t,e.className,new cS(e.horizontalLine.top,this.getMaxColumnOfViewLine(r)),-1,-1):void 0});a.push(n.filter(e=>!!e))}}return a}getViewLinesIndentGuides(e,t){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t);let n=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),r=this.convertViewPositionToModelPosition(t,this.getViewLineMaxColumn(t)),i=[],a=[],o=[],s=n.lineNumber-1,c=r.lineNumber-1,l=null;for(let e=s;e<=c;e++){let t=this.modelLineProjections[e];if(t.isVisible()){let r=t.getViewLineNumberOfModelPosition(0,e===s?n.column:1),i=t.getViewLineNumberOfModelPosition(0,this.model.getLineMaxColumn(e+1)),c=i-r+1,u=0;c>1&&t.getViewLineMinColumn(this.model,e+1,i)===1&&(u=r===0?1:2),a.push(c),o.push(u),l===null&&(l=new M(e+1,0))}else l!==null&&(i=i.concat(this.model.guides.getLinesIndentGuides(l.lineNumber,e)),l=null)}l!==null&&(i=i.concat(this.model.guides.getLinesIndentGuides(l.lineNumber,r.lineNumber)),l=null);let u=t-e+1,d=Array(u),f=0;for(let e=0,t=i.length;e<t;e++){let t=i[e],n=Math.min(u-f,a[e]),r=o[e],s;s=r===2?0:r===1?1:n;for(let e=0;e<n;e++)e===s&&(t=0),d[f++]=t}return d}getViewLineContent(e){let t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineContent(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLineLength(e){let t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineLength(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLineMinColumn(e){let t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineMinColumn(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLineMaxColumn(e){let t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineMaxColumn(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLineData(e){let t=this.getViewLineInfo(e),n=this.projectedModelLineLineCounts.getPrefixSum(t.modelLineNumber-1)+1;return this.modelLineProjections[t.modelLineNumber-1].getViewLineData(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx,n)}getViewLinesData(e,t,n){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t);let r=this.projectedModelLineLineCounts.getIndexOf(e-1),i=e,a=r.index,o=r.remainder,s=[];for(let r=a,c=this.model.getLineCount();r<c;r++){let c=this.modelLineProjections[r];if(!c.isVisible())continue;let l=r===a?o:0,u=c.getViewLineCount()-l,d=!1;i+u>t&&(d=!0,u=t-i+1);let f=this.projectedModelLineLineCounts.getPrefixSum(r)+1;if(c.getViewLinesData(this.model,r+1,l,u,f,i-e,n,s),i+=u,d)break}return s}validateViewPosition(e,t,n){e=this._toValidViewLineNumber(e);let r=this.projectedModelLineLineCounts.getIndexOf(e-1),i=r.index,a=r.remainder,o=this.modelLineProjections[i],s=o.getViewLineMinColumn(this.model,i+1,a),c=o.getViewLineMaxColumn(this.model,i+1,a);t<s&&(t=s),t>c&&(t=c);let l=o.getModelColumnOfViewPosition(a,t);return this.model.validatePosition(new M(i+1,l)).equals(n)?new M(e,t):this.convertModelPositionToViewPosition(n.lineNumber,n.column)}validateViewRange(e,t){let n=this.validateViewPosition(e.startLineNumber,e.startColumn,t.getStartPosition()),r=this.validateViewPosition(e.endLineNumber,e.endColumn,t.getEndPosition());return new N(n.lineNumber,n.column,r.lineNumber,r.column)}convertViewPositionToModelPosition(e,t){let n=this.getViewLineInfo(e),r=this.modelLineProjections[n.modelLineNumber-1].getModelColumnOfViewPosition(n.modelLineWrappedLineIdx,t);return this.model.validatePosition(new M(n.modelLineNumber,r))}convertViewRangeToModelRange(e){let t=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),n=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);return new N(t.lineNumber,t.column,n.lineNumber,n.column)}convertModelPositionToViewPosition(e,t,n=2,r=!1,i=!1){let a=this.model.validatePosition(new M(e,t)),o=a.lineNumber,s=a.column,c=o-1,l=!1;if(i)for(;c<this.modelLineProjections.length&&!this.modelLineProjections[c].isVisible();)c++,l=!0;else for(;c>0&&!this.modelLineProjections[c].isVisible();)c--,l=!0;if(c===0&&!this.modelLineProjections[c].isVisible())return new M(+!r,1);let u=1+this.projectedModelLineLineCounts.getPrefixSum(c),d;return d=l?i?this.modelLineProjections[c].getViewPositionOfModelPosition(u,1,n):this.modelLineProjections[c].getViewPositionOfModelPosition(u,this.model.getLineMaxColumn(c+1),n):this.modelLineProjections[o-1].getViewPositionOfModelPosition(u,s,n),d}convertModelRangeToViewRange(e,t=0){if(e.isEmpty()){let n=this.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn,t);return N.fromPositions(n)}{let t=this.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn,1),n=this.convertModelPositionToViewPosition(e.endLineNumber,e.endColumn,0);return new N(t.lineNumber,t.column,n.lineNumber,n.column)}}getViewLineNumberOfModelPosition(e,t){let n=e-1;if(this.modelLineProjections[n].isVisible()){let e=1+this.projectedModelLineLineCounts.getPrefixSum(n);return this.modelLineProjections[n].getViewLineNumberOfModelPosition(e,t)}for(;n>0&&!this.modelLineProjections[n].isVisible();)n--;if(n===0&&!this.modelLineProjections[n].isVisible())return 1;let r=1+this.projectedModelLineLineCounts.getPrefixSum(n);return this.modelLineProjections[n].getViewLineNumberOfModelPosition(r,this.model.getLineMaxColumn(n+1))}getDecorationsInRange(e,t,n,r,i,a){let o=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),s=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);if(s.lineNumber-o.lineNumber<=e.endLineNumber-e.startLineNumber)return this.model.getDecorationsInRange(new N(o.lineNumber,1,s.lineNumber,s.column),t,n,r,i,a);let c=[],l=o.lineNumber-1,u=s.lineNumber-1,d=null;for(let e=l;e<=u;e++)if(this.modelLineProjections[e].isVisible())d===null&&(d=new M(e+1,e===l?o.column:1));else if(d!==null){let a=this.model.getLineMaxColumn(e);c=c.concat(this.model.getDecorationsInRange(new N(d.lineNumber,d.column,e,a),t,n,r,i)),d=null}d!==null&&(c=c.concat(this.model.getDecorationsInRange(new N(d.lineNumber,d.column,s.lineNumber,s.column),t,n,r,i)),d=null),c.sort((e,t)=>{let n=N.compareRangesUsingStarts(e.range,t.range);return n===0?e.id<t.id?-1:+(e.id>t.id):n});let f=[],p=0,m=null;for(let e of c){let t=e.id;m!==t&&(m=t,f[p++]=e)}return f}getInjectedTextAt(e){let t=this.getViewLineInfo(e.lineNumber);return this.modelLineProjections[t.modelLineNumber-1].getInjectedTextAt(t.modelLineWrappedLineIdx,e.column)}normalizePosition(e,t){let n=this.getViewLineInfo(e.lineNumber);return this.modelLineProjections[n.modelLineNumber-1].normalizePosition(n.modelLineWrappedLineIdx,e,t)}getLineIndentColumn(e){let t=this.getViewLineInfo(e);return t.modelLineWrappedLineIdx===0?this.model.getLineIndentColumn(t.modelLineNumber):0}};function m_e(e){if(e.length===0)return[];let t=e.slice();t.sort(N.compareRangesUsingStarts);let n=[],r=t[0].startLineNumber,i=t[0].endLineNumber;for(let e=1,a=t.length;e<a;e++){let a=t[e];a.startLineNumber>i+1?(n.push(new N(r,1,i,1)),r=a.startLineNumber,i=a.endLineNumber):a.endLineNumber>i&&(i=a.endLineNumber)}return n.push(new N(r,1,i,1)),n}var ND=class{constructor(e,t){this.modelLineNumber=e,this.modelLineWrappedLineIdx=t}},PD=class{constructor(e,t){this.modelRange=e,this.viewLines=t}},h_e=class{constructor(e){this._lines=e}convertViewPositionToModelPosition(e){return this._lines.convertViewPositionToModelPosition(e.lineNumber,e.column)}convertViewRangeToModelRange(e){return this._lines.convertViewRangeToModelRange(e)}validateViewPosition(e,t){return this._lines.validateViewPosition(e.lineNumber,e.column,t)}validateViewRange(e,t){return this._lines.validateViewRange(e,t)}convertModelPositionToViewPosition(e,t,n,r){return this._lines.convertModelPositionToViewPosition(e.lineNumber,e.column,t,n,r)}convertModelRangeToViewRange(e,t){return this._lines.convertModelRangeToViewRange(e,t)}modelPositionIsVisible(e){return this._lines.modelPositionIsVisible(e.lineNumber,e.column)}getModelLineViewLineCount(e){return this._lines.getModelLineViewLineCount(e)}getViewLineNumberOfModelPosition(e,t){return this._lines.getViewLineNumberOfModelPosition(e,t)}},g_e=class{constructor(e){this.model=e}dispose(){}createCoordinatesConverter(){return new f_e(this.model)}getHiddenAreas(){return[]}setHiddenAreas(e){return!1}setTabSize(e){return!1}setWrappingSettings(e,t,n,r){return!1}createLineBreaksComputer(){let e=[];return{addRequest:(t,n)=>{e.push(null)},finalize:()=>e}}onModelFlushed(){}onModelLinesDeleted(e,t,n){return new mD(t,n)}onModelLinesInserted(e,t,n,r){return new hD(t,n)}onModelLineChanged(e,t,n){return[!1,new pD(t,1),null,null]}acceptVersionId(e){}getViewLineCount(){return this.model.getLineCount()}getActiveIndentGuide(e,t,n){return{startLineNumber:e,endLineNumber:e,indent:0}}getViewLinesBracketGuides(e,t,n){return Array(t-e+1).fill([])}getViewLinesIndentGuides(e,t){let n=t-e+1,r=Array(n);for(let e=0;e<n;e++)r[e]=0;return r}getViewLineContent(e){return this.model.getLineContent(e)}getViewLineLength(e){return this.model.getLineLength(e)}getViewLineMinColumn(e){return this.model.getLineMinColumn(e)}getViewLineMaxColumn(e){return this.model.getLineMaxColumn(e)}getViewLineData(e){let t=this.model.tokenization.getLineTokens(e),n=t.getLineContent();return new og(n,!1,1,n.length+1,0,t.inflate(),null)}getViewLinesData(e,t,n){let r=this.model.getLineCount();e=Math.min(Math.max(1,e),r),t=Math.min(Math.max(1,t),r);let i=[];for(let r=e;r<=t;r++){let t=r-e;i[t]=n[t]?this.getViewLineData(r):null}return i}getDecorationsInRange(e,t,n,r,i,a){return this.model.getDecorationsInRange(e,t,n,r,i,a)}normalizePosition(e,t){return this.model.normalizePosition(e,t)}getLineIndentColumn(e){return this.model.getLineIndentColumn(e)}getInjectedTextAt(e){return null}},FD=Up.Right,__e=class{constructor(e){this.persist=0,this._requiredLanes=1,this.lanes=new Uint8Array(Math.ceil((e+1)*FD/8))}reset(e){let t=Math.ceil((e+1)*FD/8);this.lanes.length<t?this.lanes=new Uint8Array(t):this.lanes.fill(0),this._requiredLanes=1}get requiredLanes(){return this._requiredLanes}push(e,t,n){n&&(this.persist|=1<<e-1);for(let n=t.startLineNumber;n<=t.endLineNumber;n++){let t=FD*n+(e-1);this.lanes[t>>>3]|=1<<t%8,this._requiredLanes=Math.max(this._requiredLanes,this.countAtLine(n))}}getLanesAtLine(e){let t=[],n=FD*e;for(let e=0;e<FD;e++)(this.persist&1<<e||this.lanes[n>>>3]&1<<n%8)&&t.push(e+1),n++;return t.length?t:[Up.Center]}countAtLine(e){let t=FD*e,n=0;for(let e=0;e<FD;e++)(this.persist&1<<e||this.lanes[t>>>3]&1<<t%8)&&n++,t++;return n}},v_e=class extends O{constructor(e,t,n,r,i,a,o,s,c,l){if(super(),this.languageConfigurationService=o,this._themeService=s,this._attachedView=c,this._transactionalTarget=l,this.hiddenAreasModel=new x_e,this.previousHiddenAreas=[],this._editorId=e,this._configuration=t,this.model=n,this._eventDispatcher=new Mge,this.onEvent=this._eventDispatcher.onEvent,this.cursorConfig=new bb(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._updateConfigurationViewLineCount=this._register(new Ns(()=>this._updateConfigurationViewLineCountNow(),0)),this._hasFocus=!1,this._viewportStart=y_e.create(this.model),this.glyphLanes=new __e(0),this.model.isTooLargeForTokenization())this._lines=new g_e(this.model);else{let e=this._configuration.options,t=e.get(59),n=e.get(156),a=e.get(166),o=e.get(155),s=e.get(146),c=e.get(160);this._lines=new p_e(this._editorId,this.model,r,i,t,this.model.getOptions().tabSize,n,a.wrappingColumn,o,s,c)}this.coordinatesConverter=this._lines.createCoordinatesConverter(),this._cursor=this._register(new Jge(n,this,this.coordinatesConverter,this.cursorConfig)),this.viewLayout=this._register(new o_e(this._configuration,this.getLineCount(),this._getCustomLineHeights(),a)),this._register(this.viewLayout.onDidScroll(e=>{e.scrollTopChanged&&this._handleVisibleLinesChanged(),e.scrollTopChanged&&this._viewportStart.invalidate(),this._eventDispatcher.emitSingleViewEvent(new Dge(e)),this._eventDispatcher.emitOutgoingEvent(new Fge(e.oldScrollWidth,e.oldScrollLeft,e.oldScrollHeight,e.oldScrollTop,e.scrollWidth,e.scrollLeft,e.scrollHeight,e.scrollTop))})),this._register(this.viewLayout.onDidContentSizeChange(e=>{this._eventDispatcher.emitOutgoingEvent(e)})),this._decorations=new l_e(this._editorId,this.model,this._configuration,this._lines,this.coordinatesConverter),this._registerModelEvents(),this._register(this._configuration.onDidChangeFast(e=>{try{let t=this._eventDispatcher.beginEmitViewEvents();this._onConfigurationChanged(t,e)}finally{this._eventDispatcher.endEmitViewEvents()}})),this._register(_S.getInstance().onDidChange(()=>{this._eventDispatcher.emitSingleViewEvent(new Age)})),this._register(this._themeService.onDidColorThemeChange(e=>{this._invalidateDecorationsColorCache(),this._eventDispatcher.emitSingleViewEvent(new Oge(e))})),this._updateConfigurationViewLineCountNow(),this.model.registerViewModel(this)}dispose(){super.dispose(),this._decorations.dispose(),this._lines.dispose(),this._viewportStart.dispose(),this._eventDispatcher.dispose(),this.model.unregisterViewModel(this)}getEditorOption(e){return this._configuration.options.get(e)}createLineBreaksComputer(e){return this._lines.createLineBreaksComputer(e)}addViewEventHandler(e){this._eventDispatcher.addViewEventHandler(e)}removeViewEventHandler(e){this._eventDispatcher.removeViewEventHandler(e)}_getCustomLineHeights(){if(!this._configuration.options.get(5))return[];let e=this.model.getCustomLineHeightsDecorations(this._editorId);return wD.fromDecorations(e,this.coordinatesConverter,this._configuration)}_getCustomLineHeightsForLines(e,t){if(!this._configuration.options.get(5))return[];let n=new N(e,1,t,this.model.getLineMaxColumn(t)),r=this.model.getCustomLineHeightsDecorationsInRange(n,this._editorId);return wD.fromDecorations(r,this.coordinatesConverter,this._configuration)}_updateConfigurationViewLineCountNow(){this._configuration.setViewLineCount(this._lines.getViewLineCount())}getModelVisibleRanges(){let e=this.viewLayout.getLinesViewportData(),t=new N(e.startLineNumber,this.getLineMinColumn(e.startLineNumber),e.endLineNumber,this.getLineMaxColumn(e.endLineNumber));return this._toModelVisibleRanges(t)}visibleLinesStabilized(){let e=this.getModelVisibleRanges();this._attachedView.setVisibleLines(e,!0)}_handleVisibleLinesChanged(){let e=this.getModelVisibleRanges();this._attachedView.setVisibleLines(e,!1)}setHasFocus(e){this._hasFocus=e,this._cursor.setHasFocus(e),this._eventDispatcher.emitSingleViewEvent(new Tge(e)),this._eventDispatcher.emitOutgoingEvent(new vD(!e,e))}setHasWidgetFocus(e){this._eventDispatcher.emitOutgoingEvent(new Pge(!e,e))}onCompositionStart(){this._eventDispatcher.emitSingleViewEvent(new xge)}onCompositionEnd(){this._eventDispatcher.emitSingleViewEvent(new Sge)}_captureStableViewport(){if(this._viewportStart.isValid&&this.viewLayout.getCurrentScrollTop()>0){let e=new M(this._viewportStart.viewLineNumber,this.getLineMinColumn(this._viewportStart.viewLineNumber));return new LD(this.coordinatesConverter.convertViewPositionToModelPosition(e),this._viewportStart.startLineDelta)}return new LD(null,0)}_onConfigurationChanged(e,t){let n=this._captureStableViewport(),r=this._configuration.options,i=r.get(59),a=r.get(156),o=r.get(166),s=r.get(155),c=r.get(146);this._lines.setWrappingSettings(i,a,o.wrappingColumn,s,c)&&(e.emitViewEvent(new dD),e.emitViewEvent(new fD),e.emitViewEvent(new uD(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount(),this._getCustomLineHeights()),this._updateConfigurationViewLineCount.schedule()),t.hasChanged(104)&&(this._decorations.reset(),e.emitViewEvent(new uD(null))),t.hasChanged(112)&&(this._decorations.reset(),e.emitViewEvent(new uD(null))),e.emitViewEvent(new Cge(t)),this.viewLayout.onConfigurationChanged(t),n.recoverViewportStart(this.coordinatesConverter,this.viewLayout),bb.shouldRecreate(t)&&(this.cursorConfig=new bb(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig))}onDidChangeContentOrInjectedText(e){try{let t=this._eventDispatcher.beginEmitViewEvents(),n=!1,r=!1,i=e instanceof QC?e.rawContentChangedEvent.changes:e.changes,a=e instanceof QC?e.rawContentChangedEvent.versionId:null,o=this._lines.createLineBreaksComputer();for(let e of i)switch(e.changeType){case 4:for(let t=0;t<e.count;t++)o.addRequest(e.fromLineNumberPostEdit+t,null);break;case 2:o.addRequest(e.lineNumberPostEdit,null)}let s=new bt(o.finalize()),c=[];for(let e of i)switch(e.changeType){case 1:this._lines.onModelFlushed(),t.emitViewEvent(new dD),this._decorations.reset(),this.viewLayout.onFlushed(this.getLineCount(),this._getCustomLineHeights()),n=!0;break;case 3:{let r=this._lines.onModelLinesDeleted(a,e.fromLineNumber,e.toLineNumber);r!==null&&(t.emitViewEvent(r),this.viewLayout.onLinesDeleted(r.fromLineNumber,r.toLineNumber),c.push({fromLineNumber:e.lastUntouchedLinePostEdit,toLineNumber:e.lastUntouchedLinePostEdit})),n=!0;break}case 4:{let r=s.takeCount(e.count),i=this._lines.onModelLinesInserted(a,e.fromLineNumber,e.toLineNumber,r);i!==null&&(t.emitViewEvent(i),this.viewLayout.onLinesInserted(i.fromLineNumber,i.toLineNumber),c.push({fromLineNumber:e.fromLineNumberPostEdit,toLineNumber:e.toLineNumberPostEdit})),n=!0;break}case 2:{let n=s.dequeue(),[i,o,l,u]=this._lines.onModelLineChanged(a,e.lineNumber,n);r=i,o&&t.emitViewEvent(o),l&&(t.emitViewEvent(l),this.viewLayout.onLinesInserted(l.fromLineNumber,l.toLineNumber),c.push({fromLineNumber:e.lineNumberPostEdit,toLineNumber:e.lineNumberPostEdit})),u&&(t.emitViewEvent(u),this.viewLayout.onLinesDeleted(u.fromLineNumber,u.toLineNumber),c.push({fromLineNumber:e.lineNumberPostEdit,toLineNumber:e.lineNumberPostEdit}));break}}a!==null&&this._lines.acceptVersionId(a),c.length>0&&this.viewLayout.changeSpecialLineHeights(e=>{for(let t of c){let n=this._getCustomLineHeightsForLines(t.fromLineNumber,t.toLineNumber);for(let t of n)e.insertOrChangeCustomLineHeight(t.decorationId,t.startLineNumber,t.endLineNumber,t.lineHeight)}}),this.viewLayout.onHeightMaybeChanged(),!n&&r&&(t.emitViewEvent(new fD),t.emitViewEvent(new uD(null)),this._cursor.onLineMappingChanged(t),this._decorations.onLineMappingChanged())}finally{this._eventDispatcher.endEmitViewEvents()}let t=this._viewportStart.isValid;if(this._viewportStart.invalidate(),this._configuration.setModelLineCount(this.model.getLineCount()),this._updateConfigurationViewLineCountNow(),!this._hasFocus&&this.model.getAttachedEditorCount()>=2&&t){let e=this.model._getTrackedRange(this._viewportStart.modelTrackedRange);if(e){let t=this.coordinatesConverter.convertModelPositionToViewPosition(e.getStartPosition()),n=this.viewLayout.getVerticalOffsetForLineNumber(t.lineNumber);this.viewLayout.setScrollPosition({scrollTop:n+this._viewportStart.startLineDelta},1)}}this._handleVisibleLinesChanged()}emitContentChangeEvent(e){this._emitViewEvent(t=>{e instanceof QC&&t.emitOutgoingEvent(new Uge(e.contentChangedEvent)),this._cursor.onModelContentChanged(t,e)})}_registerModelEvents(){this._configuration.options.get(5)&&this._register(this.model.onDidChangeLineHeight(e=>{let t=e.changes.filter(e=>e.ownerId===this._editorId||e.ownerId===0);if(this.viewLayout.changeSpecialLineHeights(e=>{for(let n of t){let{decorationId:t,lineNumber:r,lineHeightMultiplier:i}=n,a=this.coordinatesConverter.convertModelRangeToViewRange(new N(r,1,r,this.model.getLineMaxColumn(r)));i===null?e.removeCustomLineHeight(t):e.insertOrChangeCustomLineHeight(t,a.startLineNumber,a.endLineNumber,i*this._configuration.options.get(75))}}),t.length>0){let e=new XC(t);this._eventDispatcher.emitOutgoingEvent(new Kge(e))}})),this._configuration.options.get(172)&&this._register(this.model.onDidChangeFont(e=>{let t=e.changes.filter(e=>e.ownerId===this._editorId||e.ownerId===0);if(t.length>0){let e=new ZC(t);this._eventDispatcher.emitOutgoingEvent(new qge(e))}})),this._register(this.model.onDidChangeTokens(e=>{let t=[];for(let n=0,r=e.ranges.length;n<r;n++){let r=e.ranges[n],i=this.coordinatesConverter.convertModelPositionToViewPosition(new M(r.fromLineNumber,1)).lineNumber,a=this.coordinatesConverter.convertModelPositionToViewPosition(new M(r.toLineNumber,this.model.getLineMaxColumn(r.toLineNumber))).lineNumber;t[n]={fromLineNumber:i,toLineNumber:a}}this._eventDispatcher.emitSingleViewEvent(new kge(t)),this._eventDispatcher.emitOutgoingEvent(new Gge(e))})),this._register(this.model.onDidChangeLanguageConfiguration(e=>{this._eventDispatcher.emitSingleViewEvent(new Ege),this.cursorConfig=new bb(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new Hge(e))})),this._register(this.model.onDidChangeLanguage(e=>{this.cursorConfig=new bb(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new Vge(e))})),this._register(this.model.onDidChangeOptions(e=>{if(this._lines.setTabSize(this.model.getOptions().tabSize)){try{let e=this._eventDispatcher.beginEmitViewEvents();e.emitViewEvent(new dD),e.emitViewEvent(new fD),e.emitViewEvent(new uD(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount(),this._getCustomLineHeights())}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule()}this.cursorConfig=new bb(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new Wge(e))})),this._register(this.model.onDidChangeDecorations(e=>{this._decorations.onModelDecorationsChanged(),this._eventDispatcher.emitSingleViewEvent(new uD(e)),this._eventDispatcher.emitOutgoingEvent(new Bge(e))}))}getFontSizeAtPosition(e){if(!this._configuration.options.get(172))return null;let t=this.model.getFontDecorationsInRange(N.fromPositions(e),this._editorId),n=this._configuration.options.get(59).fontSize+`px`;for(let e of t)if(e.options.fontSize){n=e.options.fontSize;break}return n}setHiddenAreas(e,t,n){this.hiddenAreasModel.setHiddenAreas(t,e);let r=this.hiddenAreasModel.getMergedRanges();if(r===this.previousHiddenAreas&&!n)return;this.previousHiddenAreas=r;let i=this._captureStableViewport(),a=!1;try{let e=this._eventDispatcher.beginEmitViewEvents();a=this._lines.setHiddenAreas(r),a&&(e.emitViewEvent(new dD),e.emitViewEvent(new fD),e.emitViewEvent(new uD(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount(),this._getCustomLineHeights()),this.viewLayout.onHeightMaybeChanged());let t=i.viewportStartModelPosition?.lineNumber;t&&r.some(e=>e.startLineNumber<=t&&t<=e.endLineNumber)||i.recoverViewportStart(this.coordinatesConverter,this.viewLayout)}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule(),a&&this._eventDispatcher.emitOutgoingEvent(new Lge)}getVisibleRangesPlusViewportAboveBelow(){let e=this._configuration.options.get(165),t=this._configuration.options.get(75),n=Math.max(20,Math.round(e.height/t)),r=this.viewLayout.getLinesViewportData(),i=Math.max(1,r.completelyVisibleStartLineNumber-n),a=Math.min(this.getLineCount(),r.completelyVisibleEndLineNumber+n);return this._toModelVisibleRanges(new N(i,this.getLineMinColumn(i),a,this.getLineMaxColumn(a)))}getVisibleRanges(){let e=this.getCompletelyVisibleViewRange();return this._toModelVisibleRanges(e)}getHiddenAreas(){return this._lines.getHiddenAreas()}_toModelVisibleRanges(e){let t=this.coordinatesConverter.convertViewRangeToModelRange(e),n=this._lines.getHiddenAreas();if(n.length===0)return[t];let r=[],i=0,a=t.startLineNumber,o=t.startColumn,s=t.endLineNumber,c=t.endColumn;for(let e=0,t=n.length;e<t;e++){let t=n[e].startLineNumber,c=n[e].endLineNumber;c<a||t>s||(a<t&&(r[i++]=new N(a,o,t-1,this.model.getLineMaxColumn(t-1))),a=c+1,o=1)}return(a<s||a===s&&o<c)&&(r[i++]=new N(a,o,s,c)),r}getCompletelyVisibleViewRange(){let e=this.viewLayout.getLinesViewportData(),t=e.completelyVisibleStartLineNumber,n=e.completelyVisibleEndLineNumber;return new N(t,this.getLineMinColumn(t),n,this.getLineMaxColumn(n))}getCompletelyVisibleViewRangeAtScrollTop(e){let t=this.viewLayout.getLinesViewportDataAtScrollTop(e),n=t.completelyVisibleStartLineNumber,r=t.completelyVisibleEndLineNumber;return new N(n,this.getLineMinColumn(n),r,this.getLineMaxColumn(r))}getViewRangeWithCursorPadding(e){let t=this._configuration.options,n=t.get(35),r=t.get(131),{startLineNumber:i,endLineNumber:a}=e,o=Math.min(Math.max(n,r.enabled?r.maxLineCount:0),Math.floor((a-i+1)/2));return i+=o,a-=Math.max(0,o-1),o===0||i>a?e:new N(i,this.getLineMinColumn(i),a,this.getLineMaxColumn(a))}saveState(){let e=this.viewLayout.saveState(),t=e.scrollTop,n=this.viewLayout.getLineNumberAtVerticalOffset(t),r=this.coordinatesConverter.convertViewPositionToModelPosition(new M(n,this.getLineMinColumn(n))),i=this.viewLayout.getVerticalOffsetForLineNumber(n)-t;return{scrollLeft:e.scrollLeft,firstPosition:r,firstPositionDeltaTop:i}}reduceRestoreState(e){if(e.firstPosition===void 0)return this._reduceRestoreStateCompatibility(e);let t=this.model.validatePosition(e.firstPosition),n=this.coordinatesConverter.convertModelPositionToViewPosition(t),r=this.viewLayout.getVerticalOffsetForLineNumber(n.lineNumber)-e.firstPositionDeltaTop;return{scrollLeft:e.scrollLeft,scrollTop:r}}_reduceRestoreStateCompatibility(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTopWithoutViewZones}}getTabSize(){return this.model.getOptions().tabSize}getLineCount(){return this._lines.getViewLineCount()}setViewport(e,t,n){this._viewportStart.update(this,e)}getActiveIndentGuide(e,t,n){return this._lines.getActiveIndentGuide(e,t,n)}getLinesIndentGuides(e,t){return this._lines.getViewLinesIndentGuides(e,t)}getBracketGuidesInRangeByLine(e,t,n,r){return this._lines.getViewLinesBracketGuides(e,t,n,r)}getLineContent(e){return this._lines.getViewLineContent(e)}getLineLength(e){return this._lines.getViewLineLength(e)}getLineMinColumn(e){return this._lines.getViewLineMinColumn(e)}getLineMaxColumn(e){return this._lines.getViewLineMaxColumn(e)}getLineFirstNonWhitespaceColumn(e){let t=yo(this.getLineContent(e));return t===-1?0:t+1}getLineLastNonWhitespaceColumn(e){let t=xo(this.getLineContent(e));return t===-1?0:t+2}getMinimapDecorationsInRange(e){return this._decorations.getMinimapDecorationsInRange(e)}getDecorationsInViewport(e){return this._decorations.getDecorationsViewportData(e).decorations}getInjectedTextAt(e){return this._lines.getInjectedTextAt(e)}_getTextDirection(e,t){let n=0;for(let r of t){let t=r.range;if(t.startLineNumber>e||t.endLineNumber<e)continue;let i=r.options.textDirection;i===Wp.RTL?n++:i===Wp.LTR&&n--}return n>0?Wp.RTL:Wp.LTR}getTextDirection(e){let t=this._decorations.getDecorationsOnLine(e);return this._getTextDirection(e,t.decorations)}getViewportViewLineRenderingData(e,t){let n=this._decorations.getDecorationsViewportData(e),r=t-e.startLineNumber,i=n.inlineDecorations[r],a=n.hasVariableFonts[r];return this._getViewLineRenderingData(t,i,a,n.decorations)}getViewLineRenderingData(e){let t=this._decorations.getDecorationsOnLine(e);return this._getViewLineRenderingData(e,t.inlineDecorations[0],t.hasVariableFonts[0],t.decorations)}_getViewLineRenderingData(e,t,n,r){let i=this.model.mightContainRTL(),a=this.model.mightContainNonBasicASCII(),o=this.getTabSize(),s=this._lines.getViewLineData(e);return s.inlineDecorations&&(t=[...t,...s.inlineDecorations]),new sg(s.minColumn,s.maxColumn,s.content,s.continuesWithWrappedLine,i,a,s.tokens,t,o,s.startVisibleColumn,this._getTextDirection(e,r),n)}getViewLineData(e){return this._lines.getViewLineData(e)}getMinimapLinesRenderingData(e,t,n){let r=this._lines.getViewLinesData(e,t,n);return new bse(this.getTabSize(),r)}getAllOverviewRulerDecorations(e){let t=this.model.getOverviewRulerDecorations(this._editorId,Ur(this._configuration.options),Wr(this._configuration.options)),n=new b_e;for(let r of t){let t=r.options,i=t.overviewRuler;if(!i)continue;let a=i.position;if(a===0)continue;let o=i.getColor(e.value),s=this.coordinatesConverter.getViewLineNumberOfModelPosition(r.range.startLineNumber,r.range.startColumn),c=this.coordinatesConverter.getViewLineNumberOfModelPosition(r.range.endLineNumber,r.range.endColumn);n.accept(o,t.zIndex,s,c,a)}return n.asArray}_invalidateDecorationsColorCache(){let e=this.model.getOverviewRulerDecorations();for(let t of e)t.options.overviewRuler?.invalidateCachedColor(),t.options.minimap?.invalidateCachedColor()}getValueInRange(e,t){let n=this.coordinatesConverter.convertViewRangeToModelRange(e);return this.model.getValueInRange(n,t)}getValueLengthInRange(e,t){let n=this.coordinatesConverter.convertViewRangeToModelRange(e);return this.model.getValueLengthInRange(n,t)}modifyPosition(e,t){let n=this.coordinatesConverter.convertViewPositionToModelPosition(e),r=this.model.modifyPosition(n,t);return this.coordinatesConverter.convertModelPositionToViewPosition(r)}deduceModelPositionRelativeToViewPosition(e,t,n){let r=this.coordinatesConverter.convertViewPositionToModelPosition(e);this.model.getEOL().length===2&&(t<0?t-=n:t+=n);let i=this.model.getOffsetAt(r)+t;return this.model.getPositionAt(i)}getPlainTextToCopy(e,t,n){let r=n?`\r
275
275
  `:this.model.getEOL();e=e.slice(0),e.sort(N.compareRangesUsingStarts);let i=!1,a=!1;for(let t of e)t.isEmpty()?i=!0:a=!0;if(!a&&!t)return{sourceRanges:[],sourceText:``};let o=[],s=[],c=(e,t=``)=>{o.push(e),s.push(this.model.getValueInRange(e,n?2:0)+t)};if(i&&t){let t=0;for(let n of e){let e=n.startLineNumber;n.isEmpty()?e!==t&&c(new N(e,this.model.getLineMinColumn(e),e,this.model.getLineMaxColumn(e)),r):c(n),t=e}}else for(let t of e)t.isEmpty()||c(t);return{sourceRanges:o,sourceText:s.length===1?s[0]:s}}getRichTextToCopy(e,t){let n=this.model.getLanguageId();if(n===`plaintext`||e.length!==1)return null;let r=e[0];if(r.isEmpty()){if(!t)return null;let e=r.startLineNumber;r=new N(e,this.model.getLineMinColumn(e),e,this.model.getLineMaxColumn(e))}let i=this._configuration.options.get(59),a=this._getColorMap(),o=/[:;\\\/<>]/.test(i.fontFamily)||i.fontFamily===hr.fontFamily,s;return o?s=hr.fontFamily:(s=i.fontFamily,s=s.replace(/"/g,`'`),/[,']/.test(s)||/[+ ]/.test(s)&&(s=`'${s}'`),s=`${s}, ${hr.fontFamily}`),{mode:n,html:`<div style="color: ${a[1]};background-color: ${a[2]};font-family: ${s};font-weight: ${i.fontWeight};font-size: ${i.fontSize}px;line-height: ${i.lineHeight}px;white-space: pre;">`+this._getHTMLToCopy(r,a)+`</div>`}}_getHTMLToCopy(e,t){let n=e.startLineNumber,r=e.startColumn,i=e.endLineNumber,a=e.endColumn,o=this.getTabSize(),s=``;for(let e=n;e<=i;e++){let c=this.model.tokenization.getLineTokens(e),l=c.getLineContent(),u=e===n?r-1:0,d=e===i?a-1:l.length;s+=l===``?`<br>`:$ge(l,c.inflate(),t,u,d,o,Sn)}return s}_getColorMap(){let e=ca.getColorMap(),t=[`#000000`];if(e)for(let n=1,r=e.length;n<r;n++)t[n]=J.Format.CSS.formatHex(e[n]);return t}getPrimaryCursorState(){return this._cursor.getPrimaryCursorState()}getLastAddedCursorIndex(){return this._cursor.getLastAddedCursorIndex()}getCursorStates(){return this._cursor.getCursorStates()}setCursorStates(e,t,n){return this._withViewEventsCollector(r=>this._cursor.setStates(r,e,t,n))}getCursorColumnSelectData(){return this._cursor.getCursorColumnSelectData()}getCursorAutoClosedCharacters(){return this._cursor.getAutoClosedCharacters()}setCursorColumnSelectData(e){this._cursor.setCursorColumnSelectData(e)}getPrevEditOperationType(){return this._cursor.getPrevEditOperationType()}setPrevEditOperationType(e){this._cursor.setPrevEditOperationType(e)}getSelection(){return this._cursor.getSelection()}getSelections(){return this._cursor.getSelections()}getPosition(){return this._cursor.getPrimaryCursorState().modelState.position}setSelections(e,t,n=0){this._withViewEventsCollector(r=>this._cursor.setSelections(r,e,t,n))}saveCursorState(){return this._cursor.saveState()}restoreCursorState(e){this._withViewEventsCollector(t=>this._cursor.restoreState(t,e))}_executeCursorEdit(e){if(this._cursor.context.cursorConfig.readOnly){this._eventDispatcher.emitOutgoingEvent(new zge);return}this._withViewEventsCollector(e)}executeEdits(e,t,n,r){this._executeCursorEdit(i=>this._cursor.executeEdits(i,e,t,n,r))}startComposition(){this._executeCursorEdit(e=>this._cursor.startComposition(e))}endComposition(e){this._executeCursorEdit(t=>this._cursor.endComposition(t,e))}type(e,t){this._executeCursorEdit(n=>this._cursor.type(n,e,t))}compositionType(e,t,n,r,i){this._executeCursorEdit(a=>this._cursor.compositionType(a,e,t,n,r,i))}paste(e,t,n,r){this._executeCursorEdit(i=>this._cursor.paste(i,e,t,n,r))}cut(e){this._executeCursorEdit(t=>this._cursor.cut(t,e))}executeCommand(e,t){this._executeCursorEdit(n=>this._cursor.executeCommand(n,e,t))}executeCommands(e,t){this._executeCursorEdit(n=>this._cursor.executeCommands(n,e,t))}revealAllCursors(e,t,n=!1){this._withViewEventsCollector(r=>this._cursor.revealAll(r,e,n,0,t,0))}revealPrimaryCursor(e,t,n=!1){this._withViewEventsCollector(r=>this._cursor.revealPrimary(r,e,n,0,t,0))}revealTopMostCursor(e){let t=this._cursor.getTopMostViewPosition(),n=new N(t.lineNumber,t.column,t.lineNumber,t.column);this._withViewEventsCollector(t=>t.emitViewEvent(new gD(e,!1,n,null,0,!0,0)))}revealBottomMostCursor(e){let t=this._cursor.getBottomMostViewPosition(),n=new N(t.lineNumber,t.column,t.lineNumber,t.column);this._withViewEventsCollector(t=>t.emitViewEvent(new gD(e,!1,n,null,0,!0,0)))}revealRange(e,t,n,r,i){this._withViewEventsCollector(a=>a.emitViewEvent(new gD(e,!1,n,null,r,t,i)))}changeWhitespace(e){this.viewLayout.changeWhitespace(e)&&(this._eventDispatcher.emitSingleViewEvent(new jge),this._eventDispatcher.emitOutgoingEvent(new Ige))}_withViewEventsCollector(e){return this._transactionalTarget.batchChanges(()=>this._emitViewEvent(e))}_emitViewEvent(e){try{return e(this._eventDispatcher.beginEmitViewEvents())}finally{this._eventDispatcher.endEmitViewEvents()}}batchEvents(e){this._withViewEventsCollector(()=>{e()})}normalizePosition(e,t){return this._lines.normalizePosition(e,t)}getLineIndentColumn(e){return this._lines.getLineIndentColumn(e)}},y_e=class e{static create(t){let n=t._setTrackedRange(null,new N(1,1,1,1),1);return new e(t,1,!1,n,0)}get viewLineNumber(){return this._viewLineNumber}get isValid(){return this._isValid}get modelTrackedRange(){return this._modelTrackedRange}get startLineDelta(){return this._startLineDelta}constructor(e,t,n,r,i){this._model=e,this._viewLineNumber=t,this._isValid=n,this._modelTrackedRange=r,this._startLineDelta=i}dispose(){this._model._setTrackedRange(this._modelTrackedRange,null,1)}update(e,t){let n=e.coordinatesConverter.convertViewPositionToModelPosition(new M(t,e.getLineMinColumn(t))),r=e.model._setTrackedRange(this._modelTrackedRange,new N(n.lineNumber,n.column,n.lineNumber,n.column),1),i=e.viewLayout.getVerticalOffsetForLineNumber(t),a=e.viewLayout.getCurrentScrollTop();this._viewLineNumber=t,this._isValid=!0,this._modelTrackedRange=r,this._startLineDelta=a-i}invalidate(){this._isValid=!1}},b_e=class{constructor(){this._asMap=Object.create(null),this.asArray=[]}accept(e,t,n,r,i){let a=this._asMap[e];if(a){let e=a.data,t=e[e.length-3],o=e[e.length-1];if(t===i&&o+1>=n){r>o&&(e[e.length-1]=r);return}e.push(i,n,r)}else{let a=new cg(e,t,[i,n,r]);this._asMap[e]=a,this.asArray.push(a)}}},x_e=class{constructor(){this.hiddenAreas=new Map,this.shouldRecompute=!1,this.ranges=[]}setHiddenAreas(e,t){let n=this.hiddenAreas.get(e);n&&ID(n,t)||(this.hiddenAreas.set(e,t),this.shouldRecompute=!0)}getMergedRanges(){if(!this.shouldRecompute)return this.ranges;this.shouldRecompute=!1;let e=Array.from(this.hiddenAreas.values()).reduce((e,t)=>S_e(e,t),[]);return ID(this.ranges,e)||(this.ranges=e),this.ranges}};function S_e(e,t){let n=[],r=0,i=0;for(;r<e.length&&i<t.length;){let a=e[r],o=t[i];if(a.endLineNumber<o.startLineNumber-1)n.push(e[r++]);else if(o.endLineNumber<a.startLineNumber-1)n.push(t[i++]);else{let e=Math.min(a.startLineNumber,o.startLineNumber),t=Math.max(a.endLineNumber,o.endLineNumber);n.push(new N(e,1,t,1)),r++,i++}}for(;r<e.length;)n.push(e[r++]);for(;i<t.length;)n.push(t[i++]);return n}function ID(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!e[n].equalsRange(t[n]))return!1;return!0}var LD=class{constructor(e,t){this.viewportStartModelPosition=e,this.startLineDelta=t}recoverViewportStart(e,t){if(!this.viewportStartModelPosition)return;let n=e.convertModelPositionToViewPosition(this.viewportStartModelPosition),r=t.getVerticalOffsetForLineNumber(n.lineNumber);t.setScrollPosition({scrollTop:r+this.startLineDelta},1)}},RD=class{constructor(...e){this._entries=new Map;for(let[t,n]of e)this.set(t,n)}set(e,t){let n=this._entries.get(e);return this._entries.set(e,t),n}get(e){return this._entries.get(e)}},C_e=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},zD=function(e,t){return function(n,r){t(n,r,e)}},BD,VD=class extends O{static{BD=this}static{this.dropIntoEditorDecorationOptions=QE.register({description:`workbench-dnd-target`,className:`dnd-target`})}get isSimpleWidget(){return this._configuration.isSimpleWidget}get contextMenuId(){return this._configuration.contextMenuId}get contextKeyService(){return this._contextKeyService}constructor(e,t,n,r,i,a,o,s,c,l,u,d,f){super(),this.languageConfigurationService=u,this._deliveryQueue=Dee(),this._contributions=this._register(new nme),this._onDidDispose=this._register(new A),this.onDidDispose=this._onDidDispose.event,this._onDidChangeModelContent=this._register(new A({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelContent=this._onDidChangeModelContent.event,this._onDidChangeModelLanguage=this._register(new A({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelLanguage=this._onDidChangeModelLanguage.event,this._onDidChangeModelLanguageConfiguration=this._register(new A({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelLanguageConfiguration=this._onDidChangeModelLanguageConfiguration.event,this._onDidChangeModelOptions=this._register(new A({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelOptions=this._onDidChangeModelOptions.event,this._onDidChangeModelDecorations=this._register(new A({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelDecorations=this._onDidChangeModelDecorations.event,this._onDidChangeLineHeight=this._register(new A({deliveryQueue:this._deliveryQueue})),this.onDidChangeLineHeight=this._onDidChangeLineHeight.event,this._onDidChangeFont=this._register(new A({deliveryQueue:this._deliveryQueue})),this.onDidChangeFont=this._onDidChangeFont.event,this._onDidChangeModelTokens=this._register(new A({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelTokens=this._onDidChangeModelTokens.event,this._onDidChangeConfiguration=this._register(new A({deliveryQueue:this._deliveryQueue})),this.onDidChangeConfiguration=this._onDidChangeConfiguration.event,this._onWillChangeModel=this._register(new A({deliveryQueue:this._deliveryQueue})),this.onWillChangeModel=this._onWillChangeModel.event,this._onDidChangeModel=this._register(new A({deliveryQueue:this._deliveryQueue})),this.onDidChangeModel=this._onDidChangeModel.event,this._onDidChangeCursorPosition=this._register(new A({deliveryQueue:this._deliveryQueue})),this.onDidChangeCursorPosition=this._onDidChangeCursorPosition.event,this._onDidChangeCursorSelection=this._register(new A({deliveryQueue:this._deliveryQueue})),this.onDidChangeCursorSelection=this._onDidChangeCursorSelection.event,this._onDidAttemptReadOnlyEdit=this._register(new UD(this._contributions,this._deliveryQueue)),this.onDidAttemptReadOnlyEdit=this._onDidAttemptReadOnlyEdit.event,this._onDidLayoutChange=this._register(new A({deliveryQueue:this._deliveryQueue})),this.onDidLayoutChange=this._onDidLayoutChange.event,this._editorTextFocus=this._register(new HD({deliveryQueue:this._deliveryQueue})),this.onDidFocusEditorText=this._editorTextFocus.onDidChangeToTrue,this.onDidBlurEditorText=this._editorTextFocus.onDidChangeToFalse,this._editorWidgetFocus=this._register(new HD({deliveryQueue:this._deliveryQueue})),this.onDidFocusEditorWidget=this._editorWidgetFocus.onDidChangeToTrue,this.onDidBlurEditorWidget=this._editorWidgetFocus.onDidChangeToFalse,this._onWillType=this._register(new UD(this._contributions,this._deliveryQueue)),this.onWillType=this._onWillType.event,this._onDidType=this._register(new UD(this._contributions,this._deliveryQueue)),this.onDidType=this._onDidType.event,this._onDidCompositionStart=this._register(new UD(this._contributions,this._deliveryQueue)),this.onDidCompositionStart=this._onDidCompositionStart.event,this._onDidCompositionEnd=this._register(new UD(this._contributions,this._deliveryQueue)),this.onDidCompositionEnd=this._onDidCompositionEnd.event,this._onDidPaste=this._register(new UD(this._contributions,this._deliveryQueue)),this.onDidPaste=this._onDidPaste.event,this._onWillCopy=this._register(new UD(this._contributions,this._deliveryQueue)),this.onWillCopy=this._onWillCopy.event,this._onWillCut=this._register(new UD(this._contributions,this._deliveryQueue)),this.onWillCut=this._onWillCut.event,this._onWillPaste=this._register(new UD(this._contributions,this._deliveryQueue)),this.onWillPaste=this._onWillPaste.event,this._onMouseUp=this._register(new UD(this._contributions,this._deliveryQueue)),this.onMouseUp=this._onMouseUp.event,this._onMouseDown=this._register(new UD(this._contributions,this._deliveryQueue)),this.onMouseDown=this._onMouseDown.event,this._onMouseDrag=this._register(new UD(this._contributions,this._deliveryQueue)),this.onMouseDrag=this._onMouseDrag.event,this._onMouseDrop=this._register(new UD(this._contributions,this._deliveryQueue)),this.onMouseDrop=this._onMouseDrop.event,this._onMouseDropCanceled=this._register(new UD(this._contributions,this._deliveryQueue)),this.onMouseDropCanceled=this._onMouseDropCanceled.event,this._onDropIntoEditor=this._register(new UD(this._contributions,this._deliveryQueue)),this.onDropIntoEditor=this._onDropIntoEditor.event,this._onContextMenu=this._register(new UD(this._contributions,this._deliveryQueue)),this.onContextMenu=this._onContextMenu.event,this._onMouseMove=this._register(new UD(this._contributions,this._deliveryQueue)),this.onMouseMove=this._onMouseMove.event,this._onMouseLeave=this._register(new UD(this._contributions,this._deliveryQueue)),this.onMouseLeave=this._onMouseLeave.event,this._onMouseWheel=this._register(new UD(this._contributions,this._deliveryQueue)),this.onMouseWheel=this._onMouseWheel.event,this._onKeyUp=this._register(new UD(this._contributions,this._deliveryQueue)),this.onKeyUp=this._onKeyUp.event,this._onKeyDown=this._register(new UD(this._contributions,this._deliveryQueue)),this.onKeyDown=this._onKeyDown.event,this._onDidContentSizeChange=this._register(new A({deliveryQueue:this._deliveryQueue})),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._onDidScrollChange=this._register(new A({deliveryQueue:this._deliveryQueue})),this.onDidScrollChange=this._onDidScrollChange.event,this._onDidChangeViewZones=this._register(new A({deliveryQueue:this._deliveryQueue})),this.onDidChangeViewZones=this._onDidChangeViewZones.event,this._onDidChangeHiddenAreas=this._register(new A({deliveryQueue:this._deliveryQueue})),this.onDidChangeHiddenAreas=this._onDidChangeHiddenAreas.event,this._updateCounter=0,this._onWillTriggerEditorOperationEvent=this._register(new A),this._onBeginUpdate=this._register(new A),this.onBeginUpdate=this._onBeginUpdate.event,this._onEndUpdate=this._register(new A),this.onEndUpdate=this._onEndUpdate.event,this._onBeforeExecuteEdit=this._register(new A),this.onBeforeExecuteEdit=this._onBeforeExecuteEdit.event,this._actions=new Map,this._bannerDomNode=null,this._dropIntoEditorDecorations=this.createDecorationsCollection(),this.inComposition=!1,i.willCreateCodeEditor();let p={...t};if(this._domElement=e,this._userInteractionService=f,this._overflowWidgetsDomNode=p.overflowWidgetsDomNode,delete p.overflowWidgetsDomNode,this._id=++w_e,this._decorationTypeKeysToIds={},this._decorationTypeSubtypes={},this._telemetryData=n.telemetryData,this._configuration=this._register(this._createConfiguration(n.isSimpleWidget||!1,n.contextMenuId??(n.isSimpleWidget?vd.SimpleEditorContext:vd.EditorContext),p,l)),this._domElement.style?.setProperty(`--editor-font-size`,this._configuration.options.get(61)+`px`),this._register(this._configuration.onDidChange(e=>{this._onDidChangeConfiguration.fire(e);let t=this._configuration.options;if(e.hasChanged(165)){let e=t.get(165);this._onDidLayoutChange.fire(e)}e.hasChanged(61)&&this._domElement.style.setProperty(`--editor-font-size`,t.get(61)+`px`)})),this._contextKeyService=this._register(o.createScoped(this._domElement)),n.contextKeyValues)for(let[e,t]of Object.entries(n.contextKeyValues))this._contextKeyService.createKey(e,t);this._notificationService=c,this._codeEditorService=i,this._commandService=a,this._themeService=s,this._register(new E_e(this,this._contextKeyService)),this._register(new D_e(this,this._contextKeyService,d)),this._instantiationService=this._register(r.createChild(new RD([sd,this._contextKeyService]))),this._modelData=null,this._contentWidgets={},this._overlayWidgets={},this._glyphMarginWidgets={};let m;m=Array.isArray(n.contributions)?n.contributions:pf.getEditorContributions(),this._contributions.initialize(this,m,this._instantiationService);for(let e of pf.getEditorActions()){if(this._actions.has(e.id)){Et(Error(`Cannot have two actions with the same id ${e.id}`));continue}let t=new tw(e.id,e.label,e.alias,e.metadata,e.precondition??void 0,t=>this._instantiationService.invokeFunction(n=>Promise.resolve(e.runEditorCommand(n,this,t))),this._contextKeyService);this._actions.set(t.id,t)}let h=()=>!this._configuration.options.get(104)&&this._configuration.options.get(43).enabled;this._register(new Wre(this._domElement,{onDragOver:e=>{if(!h())return;let t=this.getTargetAtClientPoint(e.clientX,e.clientY);t?.position&&this.showDropIndicatorAt(t.position)},onDrop:async e=>{if(!h()||(this.removeDropIndicator(),!e.dataTransfer))return;let t=this.getTargetAtClientPoint(e.clientX,e.clientY);t?.position&&this._onDropIntoEditor.fire({position:t.position,event:e})},onDragLeave:()=>{this.removeDropIndicator()},onDragEnd:()=>{this.removeDropIndicator()}})),this._codeEditorService.addCodeEditor(this)}writeScreenReaderContent(e){this._modelData?.view.writeScreenReaderContent(e)}_createConfiguration(e,t,n,r){return new qg(e,t,n,this._domElement,r)}getId(){return this.getEditorType()+`:`+this._id}getEditorType(){return Bh.ICodeEditor}dispose(){this._codeEditorService.removeCodeEditor(this),this._actions.clear(),this._contentWidgets={},this._overlayWidgets={},this._removeDecorationTypes(),this._postDetachModelCleanup(this._detachModel()),this._onDidDispose.fire(),super.dispose()}invokeWithinContext(e){return this._instantiationService.invokeFunction(e)}updateOptions(e){this._configuration.updateOptions(e||{})}getOptions(){return this._configuration.options}getOption(e){return this._configuration.options.get(e)}getRawOptions(){return this._configuration.getRawOptions()}getOverflowWidgetsDomNode(){return this._overflowWidgetsDomNode}getConfiguredWordAtPosition(e){return this._modelData?Fb.getWordAtPosition(this._modelData.model,this._configuration.options.get(148),this._configuration.options.get(147),e):null}getValue(e=null){if(!this._modelData)return``;let t=!!(e&&e.preserveBOM),n=0;return e&&e.lineEnding&&e.lineEnding===`
276
276
  `?n=1:e&&e.lineEnding&&e.lineEnding===`\r
277
277
  `&&(n=2),this._modelData.model.getValue(n,t)}setValue(e){try{if(this._beginUpdate(),!this._modelData)return;this._modelData.model.setValue(e)}finally{this._endUpdate()}}getModel(){return this._modelData?this._modelData.model:null}setModel(e=null){try{this._beginUpdate();let t=e;if(this._modelData===null&&t===null||this._modelData&&this._modelData.model===t)return;let n={oldModelUrl:this._modelData?.model.uri||null,newModelUrl:t?.uri||null};this._onWillChangeModel.fire(n);let r=this.hasTextFocus(),i=this._detachModel();this._attachModel(t),this.hasModel()?r&&this.focus():(this._editorTextFocus.setValue(!1),this._editorWidgetFocus.setValue(!1)),this._removeDecorationTypes(),this._onDidChangeModel.fire(n),this._postDetachModelCleanup(i),this._contributionsDisposable=this._contributions.onAfterModelAttached()}finally{this._endUpdate()}}_removeDecorationTypes(){if(this._decorationTypeKeysToIds={},this._decorationTypeSubtypes){for(let e in this._decorationTypeSubtypes){let t=this._decorationTypeSubtypes[e];for(let n in t)this._removeDecorationType(e+`-`+n)}this._decorationTypeSubtypes={}}}getVisibleRanges(){return this._modelData?this._modelData.viewModel.getVisibleRanges():[]}getVisibleRangesPlusViewportAboveBelow(){return this._modelData?this._modelData.viewModel.getVisibleRangesPlusViewportAboveBelow():[]}getWhitespaces(){return this._modelData?this._modelData.viewModel.viewLayout.getWhitespaces():[]}static _getVerticalOffsetAfterPosition(e,t,n,r){let i=e.model.validatePosition({lineNumber:t,column:n}),a=e.viewModel.coordinatesConverter.convertModelPositionToViewPosition(i);return e.viewModel.viewLayout.getVerticalOffsetAfterLineNumber(a.lineNumber,r)}getTopForLineNumber(e,t=!1){return this._modelData?BD._getVerticalOffsetForPosition(this._modelData,e,1,t):-1}getTopForPosition(e,t){return this._modelData?BD._getVerticalOffsetForPosition(this._modelData,e,t,!1):-1}static _getVerticalOffsetForPosition(e,t,n,r=!1){let i=e.model.validatePosition({lineNumber:t,column:n}),a=e.viewModel.coordinatesConverter.convertModelPositionToViewPosition(i);return e.viewModel.viewLayout.getVerticalOffsetForLineNumber(a.lineNumber,r)}getBottomForLineNumber(e,t=!1){return this._modelData?BD._getVerticalOffsetAfterPosition(this._modelData,e,2**53-1,t):-1}getLineHeightForPosition(e){if(!this._modelData)return-1;let t=this._modelData.viewModel,n=t.coordinatesConverter,r=M.lift(e);if(n.modelPositionIsVisible(r)){let e=n.convertModelPositionToViewPosition(r);return t.viewLayout.getLineHeightForLineNumber(e.lineNumber)}return 0}setHiddenAreas(e,t,n){this._modelData?.viewModel.setHiddenAreas(e.map(e=>N.lift(e)),t,n)}getVisibleColumnFromPosition(e){if(!this._modelData)return e.column;let t=this._modelData.model.validatePosition(e),n=this._modelData.model.getOptions().tabSize;return yy.visibleColumnFromColumn(this._modelData.model.getLineContent(t.lineNumber),t.column,n)+1}getPosition(){return this._modelData?this._modelData.viewModel.getPosition():null}setPosition(e,t=`api`){if(this._modelData){if(!M.isIPosition(e))throw Error(`Invalid arguments`);this._modelData.viewModel.setSelections(t,[{selectionStartLineNumber:e.lineNumber,selectionStartColumn:e.column,positionLineNumber:e.lineNumber,positionColumn:e.column}])}}_sendRevealRange(e,t,n,r){if(!this._modelData)return;if(!N.isIRange(e))throw Error(`Invalid arguments`);let i=this._modelData.model.validateRange(e),a=this._modelData.viewModel.coordinatesConverter.convertModelRangeToViewRange(i);this._modelData.viewModel.revealRange(`api`,n,a,t,r)}revealAllCursors(e,t){this._modelData&&this._modelData.viewModel.revealAllCursors(`api`,e,t)}revealLine(e,t=0){this._revealLine(e,0,t)}revealLineInCenter(e,t=0){this._revealLine(e,1,t)}revealLineInCenterIfOutsideViewport(e,t=0){this._revealLine(e,2,t)}revealLineNearTop(e,t=0){this._revealLine(e,5,t)}_revealLine(e,t,n){if(typeof e!=`number`)throw Error(`Invalid arguments`);this._sendRevealRange(new N(e,1,e,1),t,!1,n)}revealPosition(e,t=0){this._revealPosition(e,0,!0,t)}revealPositionInCenter(e,t=0){this._revealPosition(e,1,!0,t)}revealPositionInCenterIfOutsideViewport(e,t=0){this._revealPosition(e,2,!0,t)}revealPositionNearTop(e,t=0){this._revealPosition(e,5,!0,t)}_revealPosition(e,t,n,r){if(!M.isIPosition(e))throw Error(`Invalid arguments`);this._sendRevealRange(new N(e.lineNumber,e.column,e.lineNumber,e.column),t,n,r)}getSelection(){return this._modelData?this._modelData.viewModel.getSelection():null}getSelections(){return this._modelData?this._modelData.viewModel.getSelections():null}setSelection(e,t=`api`){let n=P.isISelection(e),r=N.isIRange(e);if(!n&&!r)throw Error(`Invalid arguments`);if(n)this._setSelectionImpl(e,t);else if(r){let n={selectionStartLineNumber:e.startLineNumber,selectionStartColumn:e.startColumn,positionLineNumber:e.endLineNumber,positionColumn:e.endColumn};this._setSelectionImpl(n,t)}}_setSelectionImpl(e,t){if(!this._modelData)return;let n=new P(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn);this._modelData.viewModel.setSelections(t,[n])}revealLines(e,t,n=0){this._revealLines(e,t,0,n)}revealLinesInCenter(e,t,n=0){this._revealLines(e,t,1,n)}revealLinesInCenterIfOutsideViewport(e,t,n=0){this._revealLines(e,t,2,n)}revealLinesNearTop(e,t,n=0){this._revealLines(e,t,5,n)}_revealLines(e,t,n,r){if(typeof e!=`number`||typeof t!=`number`)throw Error(`Invalid arguments`);this._sendRevealRange(new N(e,1,t,1),n,!1,r)}revealRange(e,t=0,n=!1,r=!0){this._revealRange(e,+!!n,r,t)}revealRangeInCenter(e,t=0){this._revealRange(e,1,!0,t)}revealRangeInCenterIfOutsideViewport(e,t=0){this._revealRange(e,2,!0,t)}revealRangeNearTop(e,t=0){this._revealRange(e,5,!0,t)}revealRangeNearTopIfOutsideViewport(e,t=0){this._revealRange(e,6,!0,t)}revealRangeAtTop(e,t=0){this._revealRange(e,3,!0,t)}_revealRange(e,t,n,r){if(!N.isIRange(e))throw Error(`Invalid arguments`);this._sendRevealRange(N.lift(e),t,n,r)}setSelections(e,t=`api`,n=0){if(this._modelData){if(!e||e.length===0)throw Error(`Invalid arguments`);for(let t=0,n=e.length;t<n;t++)if(!P.isISelection(e[t]))throw Error(`Invalid arguments`);this._modelData.viewModel.setSelections(t,e,n)}}getContentWidth(){return this._modelData?this._modelData.viewModel.viewLayout.getContentWidth():-1}getScrollWidth(){return this._modelData?this._modelData.viewModel.viewLayout.getScrollWidth():-1}getScrollLeft(){return this._modelData?this._modelData.viewModel.viewLayout.getCurrentScrollLeft():-1}getContentHeight(){return this._modelData?this._modelData.viewModel.viewLayout.getContentHeight():-1}getScrollHeight(){return this._modelData?this._modelData.viewModel.viewLayout.getScrollHeight():-1}getScrollTop(){return this._modelData?this._modelData.viewModel.viewLayout.getCurrentScrollTop():-1}setScrollLeft(e,t=1){if(this._modelData){if(typeof e!=`number`)throw Error(`Invalid arguments`);this._modelData.viewModel.viewLayout.setScrollPosition({scrollLeft:e},t)}}setScrollTop(e,t=1){if(this._modelData){if(typeof e!=`number`)throw Error(`Invalid arguments`);this._modelData.viewModel.viewLayout.setScrollPosition({scrollTop:e},t)}}setScrollPosition(e,t=1){this._modelData&&this._modelData.viewModel.viewLayout.setScrollPosition(e,t)}hasPendingScrollAnimation(){return this._modelData?this._modelData.viewModel.viewLayout.hasPendingScrollAnimation():!1}saveViewState(){if(!this._modelData)return null;let e=this._contributions.saveViewState();return{cursorState:this._modelData.viewModel.saveCursorState(),viewState:this._modelData.viewModel.saveState(),contributionsState:e}}restoreViewState(e){if(!this._modelData||!this._modelData.hasRealView)return;let t=e;if(t&&t.cursorState&&t.viewState){let e=t.cursorState;Array.isArray(e)?e.length>0&&this._modelData.viewModel.restoreCursorState(e):this._modelData.viewModel.restoreCursorState([e]),this._contributions.restoreViewState(t.contributionsState||{});let n=this._modelData.viewModel.reduceRestoreState(t.viewState);this._modelData.view.restoreState(n)}}handleInitialized(){this._getViewModel()?.visibleLinesStabilized()}getContribution(e){return this._contributions.get(e)}getActions(){return Array.from(this._actions.values())}getSupportedActions(){let e=this.getActions();return e=e.filter(e=>e.isSupported()),e}getAction(e){return this._actions.get(e)||null}trigger(e,t,n){n||={};try{switch(this._onWillTriggerEditorOperationEvent.fire({source:e,handlerId:t,payload:n}),this._beginUpdate(),t){case`compositionStart`:this._startComposition();return;case`compositionEnd`:this._endComposition(e);return;case`type`:{let t=n;this._type(e,t.text||``);return}case`replacePreviousChar`:{let t=n;this._compositionType(e,t.text||``,t.replaceCharCnt||0,0,0);return}case`compositionType`:{let t=n;this._compositionType(e,t.text||``,t.replacePrevCharCnt||0,t.replaceNextCharCnt||0,t.positionDelta||0);return}case`paste`:{let t=n;this._paste(e,t.text||``,t.pasteOnNewLine||!1,t.multicursorText||null,t.mode||null,t.clipboardEvent);return}case`cut`:this._cut(e);return}let r=this.getAction(t);if(r){Promise.resolve(r.run(n)).then(void 0,Et);return}if(!this._modelData||this._triggerEditorCommand(e,t,n))return;this._triggerCommand(t,n)}finally{this._endUpdate()}}_triggerCommand(e,t){this._commandService.executeCommand(e,t)}_startComposition(){this._modelData&&(this.inComposition=!0,this._modelData.viewModel.startComposition(),this._onDidCompositionStart.fire())}_endComposition(e){this._modelData&&(this.inComposition=!1,this._modelData.viewModel.endComposition(e),this._onDidCompositionEnd.fire())}_type(e,t){this._modelData&&t.length!==0&&(e===`keyboard`&&this._onWillType.fire(t),this._modelData.viewModel.type(t,e),e===`keyboard`&&this._onDidType.fire(t))}_compositionType(e,t,n,r,i){this._modelData&&this._modelData.viewModel.compositionType(t,n,r,i,e)}_paste(e,t,n,r,i,a){if(!this._modelData)return;let o=this._modelData.viewModel,s=o.getSelection().getStartPosition();o.paste(t,n,r,e);let c=o.getSelection().getStartPosition();e===`keyboard`&&this._onDidPaste.fire({clipboardEvent:a,range:new N(s.lineNumber,s.column,c.lineNumber,c.column),languageId:i})}_cut(e){this._modelData&&this._modelData.viewModel.cut(e)}_triggerEditorCommand(e,t,n){let r=pf.getEditorCommand(t);return r?(n||={},Ut(n)&&(n.source=e),this._instantiationService.invokeFunction(e=>{Promise.resolve(r.runEditorCommand(e,this,n)).then(void 0,Et)}),!0):!1}_getViewModel(){return this._modelData?this._modelData.viewModel:null}pushUndoStop(){return!this._modelData||this._configuration.options.get(104)?!1:(this._modelData.model.pushStackElement(),!0)}popUndoStop(){return!this._modelData||this._configuration.options.get(104)?!1:(this._modelData.model.popStackElement(),!0)}edit(e,t){return this.executeEdits(t,e.replacements.map(e=>({range:e.range,text:e.text})),void 0)}executeEdits(e,t,n){if(!this._modelData||this._configuration.options.get(104))return!1;let r;r=n?Array.isArray(n)?()=>n:n:()=>null;let i,a;return e instanceof lw?(a=e,i=e.metadata.source):(a=dw.unknown({name:e}),i=e),this._onBeforeExecuteEdit.fire({source:i??void 0}),this._modelData.viewModel.executeEdits(i,t,r,a),!0}executeCommand(e,t){this._modelData&&this._modelData.viewModel.executeCommand(t,e)}executeCommands(e,t){this._modelData&&this._modelData.viewModel.executeCommands(t,e)}createDecorationsCollection(e){return new O_e(this,e)}changeDecorations(e){return this._modelData?this._modelData.model.changeDecorations(e,this._id):null}getLineDecorations(e){if(!this._modelData)return null;let t=this._configuration.options;return this._modelData.model.getLineDecorations(e,this._id,Ur(t),Wr(t))}getDecorationsInRange(e){if(!this._modelData)return null;let t=this._configuration.options;return this._modelData.model.getDecorationsInRange(e,this._id,Ur(t),Wr(t))}getFontSizeAtPosition(e){return this._modelData?this._modelData.viewModel.getFontSizeAtPosition(e):null}deltaDecorations(e,t){return this._modelData?e.length===0&&t.length===0?e:this._modelData.model.deltaDecorations(e,t,this._id):[]}removeDecorations(e){this._modelData&&e.length!==0&&this._modelData.model.changeDecorations(t=>{t.deltaDecorations(e,[])})}removeDecorationsByType(e){let t=this._decorationTypeKeysToIds[e];if(t&&this.changeDecorations(e=>e.deltaDecorations(t,[])),this._decorationTypeKeysToIds.hasOwnProperty(e)&&delete this._decorationTypeKeysToIds[e],this._decorationTypeSubtypes.hasOwnProperty(e)){let t=this._decorationTypeSubtypes[e];for(let n of Object.keys(t))this._removeDecorationType(e+`-`+n);delete this._decorationTypeSubtypes[e]}}getLayoutInfo(){return this._configuration.options.get(165)}createOverviewRuler(e){return!this._modelData||!this._modelData.hasRealView?null:this._modelData.view.createOverviewRuler(e)}getContainerDomNode(){return this._domElement}getDomNode(){return!this._modelData||!this._modelData.hasRealView?null:this._modelData.view.domNode.domNode}delegateVerticalScrollbarPointerDown(e){this._modelData&&this._modelData.hasRealView&&this._modelData.view.delegateVerticalScrollbarPointerDown(e)}delegateScrollFromMouseWheelEvent(e){this._modelData&&this._modelData.hasRealView&&this._modelData.view.delegateScrollFromMouseWheelEvent(e)}layout(e,t=!1){this._configuration.observeContainer(e),t||this.render()}focus(){this._modelData&&this._modelData.hasRealView&&this._modelData.view.focus()}hasTextFocus(){return!this._modelData||!this._modelData.hasRealView?!1:this._modelData.view.isFocused()}hasWidgetFocus(){return!this._modelData||!this._modelData.hasRealView?!1:this._modelData.view.isWidgetFocused()}addContentWidget(e){let t={widget:e,position:e.getPosition()};this._contentWidgets.hasOwnProperty(e.getId())&&console.warn(`Overwriting a content widget with the same id:`+e.getId()),this._contentWidgets[e.getId()]=t,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addContentWidget(t)}layoutContentWidget(e){let t=e.getId();if(this._contentWidgets.hasOwnProperty(t)){let n=this._contentWidgets[t];n.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutContentWidget(n)}}removeContentWidget(e){let t=e.getId();if(this._contentWidgets.hasOwnProperty(t)){let e=this._contentWidgets[t];delete this._contentWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeContentWidget(e)}}addOverlayWidget(e){let t={widget:e,position:e.getPosition()};this._overlayWidgets.hasOwnProperty(e.getId())&&console.warn(`Overwriting an overlay widget with the same id.`),this._overlayWidgets[e.getId()]=t,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addOverlayWidget(t)}layoutOverlayWidget(e){let t=e.getId();if(this._overlayWidgets.hasOwnProperty(t)){let n=this._overlayWidgets[t];n.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutOverlayWidget(n)}}removeOverlayWidget(e){let t=e.getId();if(this._overlayWidgets.hasOwnProperty(t)){let e=this._overlayWidgets[t];delete this._overlayWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeOverlayWidget(e)}}addGlyphMarginWidget(e){let t={widget:e,position:e.getPosition()};this._glyphMarginWidgets.hasOwnProperty(e.getId())&&console.warn(`Overwriting a glyph margin widget with the same id.`),this._glyphMarginWidgets[e.getId()]=t,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addGlyphMarginWidget(t)}layoutGlyphMarginWidget(e){let t=e.getId();if(this._glyphMarginWidgets.hasOwnProperty(t)){let n=this._glyphMarginWidgets[t];n.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutGlyphMarginWidget(n)}}removeGlyphMarginWidget(e){let t=e.getId();if(this._glyphMarginWidgets.hasOwnProperty(t)){let e=this._glyphMarginWidgets[t];delete this._glyphMarginWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeGlyphMarginWidget(e)}}changeViewZones(e){this._modelData&&this._modelData.hasRealView&&this._modelData.view.change(e)}getTargetAtClientPoint(e,t){return!this._modelData||!this._modelData.hasRealView?null:this._modelData.view.getTargetAtClientPoint(e,t)}getScrolledVisiblePosition(e){if(!this._modelData||!this._modelData.hasRealView)return null;let t=this._modelData.model.validatePosition(e),n=this._configuration.options.get(165);return{top:BD._getVerticalOffsetForPosition(this._modelData,t.lineNumber,t.column)-this.getScrollTop(),left:this._modelData.view.getOffsetForColumn(t.lineNumber,t.column)+n.glyphMarginWidth+n.lineNumbersWidth+n.decorationsWidth-this.getScrollLeft(),height:this.getLineHeightForPosition(t)}}getOffsetForColumn(e,t){return!this._modelData||!this._modelData.hasRealView?-1:this._modelData.view.getOffsetForColumn(e,t)}getWidthOfLine(e){return!this._modelData||!this._modelData.hasRealView?-1:this._modelData.view.getLineWidth(e)}resetLineWidthCaches(){this._modelData&&this._modelData.hasRealView&&this._modelData.view.resetLineWidthCaches()}render(e=!1){this._modelData&&this._modelData.hasRealView&&this._modelData.viewModel.batchEvents(()=>{this._modelData.view.render(!0,e)})}renderAsync(e=!1){this._modelData&&this._modelData.hasRealView&&this._modelData.viewModel.batchEvents(()=>{this._modelData.view.render(!1,e)})}setAriaOptions(e){this._modelData&&this._modelData.hasRealView&&this._modelData.view.setAriaOptions(e)}applyFontInfo(e){Su(e,this._configuration.options.get(59))}setBanner(e,t){this._bannerDomNode&&this._domElement.contains(this._bannerDomNode)&&this._bannerDomNode.remove(),this._bannerDomNode=e,this._configuration.setReservedHeight(e?t:0),this._bannerDomNode&&this._domElement.prepend(this._bannerDomNode)}_attachModel(e){if(!e){this._modelData=null;return}let t=[];this._domElement.setAttribute(`data-mode-id`,e.getLanguageId()),this._configuration.setIsDominatedByLongLines(e.isDominatedByLongLines()),this._configuration.setModelLineCount(e.getLineCount());let n=e.onBeforeAttached(),r=new v_e(this._id,this._configuration,e,Qpe.create(cl(this._domElement)),gge.create(this._configuration.options),e=>Sl(cl(this._domElement),e),this.languageConfigurationService,this._themeService,n,{batchChanges:e=>{try{return this._beginUpdate(),e()}finally{this._endUpdate()}}});t.push(e.onWillDispose(()=>this.setModel(null))),t.push(r.onEvent(t=>{switch(t.kind){case 0:this._onDidContentSizeChange.fire(t);break;case 1:this._editorTextFocus.setValue(t.hasFocus);break;case 2:this._editorWidgetFocus.setValue(t.hasFocus);break;case 3:this._onDidScrollChange.fire(t);break;case 4:this._onDidChangeViewZones.fire();break;case 5:this._onDidChangeHiddenAreas.fire();break;case 6:this._onDidAttemptReadOnlyEdit.fire();break;case 7:{if(t.reachedMaxCursorCount){let e=w(99,`The number of cursors has been limited to {0}. Consider using [find and replace](https://code.visualstudio.com/docs/editor/codebasics#_find-and-replace) for larger changes or increase the editor multi cursor limit setting.`,this.getOption(89));this._notificationService.prompt(eC.Warning,e,[{label:`Find and Replace`,run:()=>{this._commandService.executeCommand(`editor.action.startFindReplaceAction`)}},{label:w(100,`Increase Multi Cursor Limit`),run:()=>{this._commandService.executeCommand(`workbench.action.openSettings2`,{query:`editor.multiCursorLimit`})}}])}let e=[];for(let n=0,r=t.selections.length;n<r;n++)e[n]=t.selections[n].getPosition();let n={position:e[0],secondaryPositions:e.slice(1),reason:t.reason,source:t.source};this._onDidChangeCursorPosition.fire(n);let r={selection:t.selections[0],secondarySelections:t.selections.slice(1),modelVersionId:t.modelVersionId,oldSelections:t.oldSelections,oldModelVersionId:t.oldModelVersionId,source:t.source,reason:t.reason};this._onDidChangeCursorSelection.fire(r);break}case 8:this._onDidChangeModelDecorations.fire(t.event);break;case 9:this._domElement.setAttribute(`data-mode-id`,e.getLanguageId()),this._onDidChangeModelLanguage.fire(t.event);break;case 10:this._onDidChangeModelLanguageConfiguration.fire(t.event);break;case 11:this._onDidChangeModelContent.fire(t.event);break;case 12:this._onDidChangeModelOptions.fire(t.event);break;case 13:this._onDidChangeModelTokens.fire(t.event);break;case 14:this._onDidChangeLineHeight.fire(t.event);break;case 15:this._onDidChangeFont.fire(t.event)}}));let[i,a]=this._createView(r);if(a){this._domElement.appendChild(i.domNode.domNode);let n=Object.keys(this._contentWidgets);for(let e=0,t=n.length;e<t;e++){let t=n[e];i.addContentWidget(this._contentWidgets[t])}n=Object.keys(this._overlayWidgets);for(let e=0,t=n.length;e<t;e++){let t=n[e];i.addOverlayWidget(this._overlayWidgets[t])}n=Object.keys(this._glyphMarginWidgets);for(let e=0,t=n.length;e<t;e++){let t=n[e];i.addGlyphMarginWidget(this._glyphMarginWidgets[t])}i.render(!1,!0),i.domNode.domNode.setAttribute(`data-uri`,e.uri.toString()),t.push(i.onWillCopy(e=>this._onWillCopy.fire(e))),t.push(i.onWillCut(e=>this._onWillCut.fire(e))),t.push(i.onWillPaste(e=>this._onWillPaste.fire(e)))}this._modelData=new T_e(e,r,i,a,t,n)}_createView(e){let t;t=this.isSimpleWidget?{paste:(e,t,n,r)=>{this._paste(`keyboard`,e,t,n,r)},type:e=>{this._type(`keyboard`,e)},compositionType:(e,t,n,r)=>{this._compositionType(`keyboard`,e,t,n,r)},startComposition:()=>{this._startComposition()},endComposition:()=>{this._endComposition(`keyboard`)},cut:()=>{this._cut(`keyboard`)}}:{paste:(e,t,n,r)=>{let i={text:e,pasteOnNewLine:t,multicursorText:n,mode:r};this._commandService.executeCommand(`paste`,i)},type:e=>{let t={text:e};this._commandService.executeCommand(`type`,t)},compositionType:(e,t,n,r)=>{if(n||r){let i={text:e,replacePrevCharCnt:t,replaceNextCharCnt:n,positionDelta:r};this._commandService.executeCommand(`compositionType`,i)}else{let n={text:e,replaceCharCnt:t};this._commandService.executeCommand(`replacePreviousChar`,n)}},startComposition:()=>{this._commandService.executeCommand(`compositionStart`,{})},endComposition:()=>{this._commandService.executeCommand(`compositionEnd`,{})},cut:()=>{this._commandService.executeCommand(`cut`,{})}};let n=new Ex(e.coordinatesConverter);return n.onKeyDown=e=>this._onKeyDown.fire(e),n.onKeyUp=e=>this._onKeyUp.fire(e),n.onContextMenu=e=>this._onContextMenu.fire(e),n.onMouseMove=e=>this._onMouseMove.fire(e),n.onMouseLeave=e=>this._onMouseLeave.fire(e),n.onMouseDown=e=>this._onMouseDown.fire(e),n.onMouseUp=e=>this._onMouseUp.fire(e),n.onMouseDrag=e=>this._onMouseDrag.fire(e),n.onMouseDrop=e=>this._onMouseDrop.fire(e),n.onMouseDropCanceled=e=>this._onMouseDropCanceled.fire(e),n.onMouseWheel=e=>this._onMouseWheel.fire(e),[new BC(this._domElement,this.getId(),t,this._configuration,this._themeService.getColorTheme(),e,n,this._overflowWidgetsDomNode,this._instantiationService,this._userInteractionService),!0]}_postDetachModelCleanup(e){e?.removeAllDecorationsWithOwnerId(this._id)}_detachModel(){if(this._contributionsDisposable?.dispose(),this._contributionsDisposable=void 0,!this._modelData)return null;let e=this._modelData.model,t=this._modelData.hasRealView?this._modelData.view.domNode.domNode:null;return this._modelData.dispose(),this._modelData=null,this._domElement.removeAttribute(`data-mode-id`),t&&this._domElement.contains(t)&&t.remove(),this._bannerDomNode&&this._domElement.contains(this._bannerDomNode)&&this._bannerDomNode.remove(),e}_removeDecorationType(e){this._codeEditorService.removeDecorationType(e)}hasModel(){return this._modelData!==null}showDropIndicatorAt(e){let t=[{range:new N(e.lineNumber,e.column,e.lineNumber,e.column),options:BD.dropIntoEditorDecorationOptions}];this._dropIntoEditorDecorations.set(t),this.revealPosition(e,1)}removeDropIndicator(){this._dropIntoEditorDecorations.clear()}_beginUpdate(){this._updateCounter++,this._updateCounter===1&&this._onBeginUpdate.fire()}_endUpdate(){this._updateCounter--,this._updateCounter===0&&this._onEndUpdate.fire()}};VD=BD=C_e([zD(3,Tu),zD(4,Du),zD(5,Lu),zD(6,sd),zD(7,Mx),zD(8,tC),zD(9,Wg),zD(10,vp),zD(11,Ah),zD(12,RC)],VD);var w_e=0,T_e=class{constructor(e,t,n,r,i,a){this.model=e,this.viewModel=t,this.view=n,this.hasRealView=r,this.listenersToRemove=i,this.attachedView=a}dispose(){Hn(this.listenersToRemove),this.model.onBeforeDetached(this.attachedView),this.hasRealView&&this.view.dispose(),this.viewModel.dispose()}},HD=class extends O{constructor(e){super(),this._emitterOptions=e,this._onDidChangeToTrue=this._register(new A(this._emitterOptions)),this.onDidChangeToTrue=this._onDidChangeToTrue.event,this._onDidChangeToFalse=this._register(new A(this._emitterOptions)),this.onDidChangeToFalse=this._onDidChangeToFalse.event,this._value=0}setValue(e){let t=e?2:1;this._value!==t&&(this._value=t,this._value===2?this._onDidChangeToTrue.fire():this._value===1&&this._onDidChangeToFalse.fire())}},UD=class extends A{constructor(e,t){super({deliveryQueue:t}),this._contributions=e}fire(e){this._contributions.onBeforeInteractionEvent(),super.fire(e)}},E_e=class extends O{constructor(e,t){super(),this._editor=e,t.createKey(`editorId`,e.getId()),this._editorSimpleInput=Z.editorSimpleInput.bindTo(t),this._editorFocus=Z.focus.bindTo(t),this._textInputFocus=Z.textInputFocus.bindTo(t),this._editorTextFocus=Z.editorTextFocus.bindTo(t),this._tabMovesFocus=Z.tabMovesFocus.bindTo(t),this._editorReadonly=Z.readOnly.bindTo(t),this._inDiffEditor=Z.inDiffEditor.bindTo(t),this._editorColumnSelection=Z.columnSelection.bindTo(t),this._hasMultipleSelections=Z.hasMultipleSelections.bindTo(t),this._hasNonEmptySelection=Z.hasNonEmptySelection.bindTo(t),this._canUndo=Z.canUndo.bindTo(t),this._canRedo=Z.canRedo.bindTo(t),this._register(this._editor.onDidChangeConfiguration(()=>this._updateFromConfig())),this._register(this._editor.onDidChangeCursorSelection(()=>this._updateFromSelection())),this._register(this._editor.onDidFocusEditorWidget(()=>this._updateFromFocus())),this._register(this._editor.onDidBlurEditorWidget(()=>this._updateFromFocus())),this._register(this._editor.onDidFocusEditorText(()=>this._updateFromFocus())),this._register(this._editor.onDidBlurEditorText(()=>this._updateFromFocus())),this._register(this._editor.onDidChangeModel(()=>this._updateFromModel())),this._register(this._editor.onDidChangeConfiguration(()=>this._updateFromModel())),this._register(Ug.onDidChangeTabFocus(e=>this._tabMovesFocus.set(e))),this._updateFromConfig(),this._updateFromSelection(),this._updateFromFocus(),this._updateFromModel(),this._editorSimpleInput.set(this._editor.isSimpleWidget)}_updateFromConfig(){let e=this._editor.getOptions();this._tabMovesFocus.set(e.get(164)||Ug.getTabFocusMode()),this._editorReadonly.set(e.get(104)),this._inDiffEditor.set(e.get(70)),this._editorColumnSelection.set(e.get(28))}_updateFromSelection(){let e=this._editor.getSelections();e?(this._hasMultipleSelections.set(e.length>1),this._hasNonEmptySelection.set(e.some(e=>!e.isEmpty()))):(this._hasMultipleSelections.reset(),this._hasNonEmptySelection.reset())}_updateFromFocus(){this._editorFocus.set(this._editor.hasWidgetFocus()&&!this._editor.isSimpleWidget),this._editorTextFocus.set(this._editor.hasTextFocus()&&!this._editor.isSimpleWidget),this._textInputFocus.set(this._editor.hasTextFocus())}_updateFromModel(){let e=this._editor.getModel();this._canUndo.set(!!(e&&e.canUndo())),this._canRedo.set(!!(e&&e.canRedo()))}},D_e=class extends O{constructor(e,t,n){super(),this._editor=e,this._contextKeyService=t,this._languageFeaturesService=n,this._langId=Z.languageId.bindTo(t),this._hasCompletionItemProvider=Z.hasCompletionItemProvider.bindTo(t),this._hasCodeActionsProvider=Z.hasCodeActionsProvider.bindTo(t),this._hasCodeLensProvider=Z.hasCodeLensProvider.bindTo(t),this._hasDefinitionProvider=Z.hasDefinitionProvider.bindTo(t),this._hasDeclarationProvider=Z.hasDeclarationProvider.bindTo(t),this._hasImplementationProvider=Z.hasImplementationProvider.bindTo(t),this._hasTypeDefinitionProvider=Z.hasTypeDefinitionProvider.bindTo(t),this._hasHoverProvider=Z.hasHoverProvider.bindTo(t),this._hasDocumentHighlightProvider=Z.hasDocumentHighlightProvider.bindTo(t),this._hasDocumentSymbolProvider=Z.hasDocumentSymbolProvider.bindTo(t),this._hasReferenceProvider=Z.hasReferenceProvider.bindTo(t),this._hasRenameProvider=Z.hasRenameProvider.bindTo(t),this._hasSignatureHelpProvider=Z.hasSignatureHelpProvider.bindTo(t),this._hasInlayHintsProvider=Z.hasInlayHintsProvider.bindTo(t),this._hasDocumentFormattingProvider=Z.hasDocumentFormattingProvider.bindTo(t),this._hasDocumentSelectionFormattingProvider=Z.hasDocumentSelectionFormattingProvider.bindTo(t),this._hasMultipleDocumentFormattingProvider=Z.hasMultipleDocumentFormattingProvider.bindTo(t),this._hasMultipleDocumentSelectionFormattingProvider=Z.hasMultipleDocumentSelectionFormattingProvider.bindTo(t),this._isInEmbeddedEditor=Z.isInEmbeddedEditor.bindTo(t);let r=()=>this._update();this._register(e.onDidChangeModel(r)),this._register(e.onDidChangeModelLanguage(r)),this._register(n.completionProvider.onDidChange(r)),this._register(n.codeActionProvider.onDidChange(r)),this._register(n.codeLensProvider.onDidChange(r)),this._register(n.definitionProvider.onDidChange(r)),this._register(n.declarationProvider.onDidChange(r)),this._register(n.implementationProvider.onDidChange(r)),this._register(n.typeDefinitionProvider.onDidChange(r)),this._register(n.hoverProvider.onDidChange(r)),this._register(n.documentHighlightProvider.onDidChange(r)),this._register(n.documentSymbolProvider.onDidChange(r)),this._register(n.referenceProvider.onDidChange(r)),this._register(n.renameProvider.onDidChange(r)),this._register(n.documentFormattingEditProvider.onDidChange(r)),this._register(n.documentRangeFormattingEditProvider.onDidChange(r)),this._register(n.signatureHelpProvider.onDidChange(r)),this._register(n.inlayHintsProvider.onDidChange(r)),r()}dispose(){super.dispose()}reset(){this._contextKeyService.bufferChangeEvents(()=>{this._langId.reset(),this._hasCompletionItemProvider.reset(),this._hasCodeActionsProvider.reset(),this._hasCodeLensProvider.reset(),this._hasDefinitionProvider.reset(),this._hasDeclarationProvider.reset(),this._hasImplementationProvider.reset(),this._hasTypeDefinitionProvider.reset(),this._hasHoverProvider.reset(),this._hasDocumentHighlightProvider.reset(),this._hasDocumentSymbolProvider.reset(),this._hasReferenceProvider.reset(),this._hasRenameProvider.reset(),this._hasDocumentFormattingProvider.reset(),this._hasDocumentSelectionFormattingProvider.reset(),this._hasSignatureHelpProvider.reset(),this._isInEmbeddedEditor.reset()})}_update(){let e=this._editor.getModel();if(!e){this.reset();return}this._contextKeyService.bufferChangeEvents(()=>{this._langId.set(e.getLanguageId()),this._hasCompletionItemProvider.set(this._languageFeaturesService.completionProvider.has(e)),this._hasCodeActionsProvider.set(this._languageFeaturesService.codeActionProvider.has(e)),this._hasCodeLensProvider.set(this._languageFeaturesService.codeLensProvider.has(e)),this._hasDefinitionProvider.set(this._languageFeaturesService.definitionProvider.has(e)),this._hasDeclarationProvider.set(this._languageFeaturesService.declarationProvider.has(e)),this._hasImplementationProvider.set(this._languageFeaturesService.implementationProvider.has(e)),this._hasTypeDefinitionProvider.set(this._languageFeaturesService.typeDefinitionProvider.has(e)),this._hasHoverProvider.set(this._languageFeaturesService.hoverProvider.has(e)),this._hasDocumentHighlightProvider.set(this._languageFeaturesService.documentHighlightProvider.has(e)),this._hasDocumentSymbolProvider.set(this._languageFeaturesService.documentSymbolProvider.has(e)),this._hasReferenceProvider.set(this._languageFeaturesService.referenceProvider.has(e)),this._hasRenameProvider.set(this._languageFeaturesService.renameProvider.has(e)),this._hasSignatureHelpProvider.set(this._languageFeaturesService.signatureHelpProvider.has(e)),this._hasInlayHintsProvider.set(this._languageFeaturesService.inlayHintsProvider.has(e)),this._hasDocumentFormattingProvider.set(this._languageFeaturesService.documentFormattingEditProvider.has(e)||this._languageFeaturesService.documentRangeFormattingEditProvider.has(e)),this._hasDocumentSelectionFormattingProvider.set(this._languageFeaturesService.documentRangeFormattingEditProvider.has(e)),this._hasMultipleDocumentFormattingProvider.set(this._languageFeaturesService.documentFormattingEditProvider.all(e).length+this._languageFeaturesService.documentRangeFormattingEditProvider.all(e).length>1),this._hasMultipleDocumentSelectionFormattingProvider.set(this._languageFeaturesService.documentRangeFormattingEditProvider.all(e).length>1),this._isInEmbeddedEditor.set(e.uri.scheme===Bs.walkThroughSnippet||e.uri.scheme===Bs.vscodeChatCodeBlock)})}},O_e=class{get length(){return this._decorationIds.length}constructor(e,t){this._editor=e,this._decorationIds=[],this._isChangingDecorations=!1,Array.isArray(t)&&t.length>0&&this.set(t)}onDidChange(e,t,n){return this._editor.onDidChangeModelDecorations(n=>{this._isChangingDecorations||e.call(t,n)},n)}getRange(e){return!this._editor.hasModel()||e>=this._decorationIds.length?null:this._editor.getModel().getDecorationRange(this._decorationIds[e])}getRanges(){if(!this._editor.hasModel())return[];let e=this._editor.getModel(),t=[];for(let n of this._decorationIds){let r=e.getDecorationRange(n);r&&t.push(r)}return t}has(e){return this._decorationIds.includes(e.id)}clear(){this._decorationIds.length!==0&&this.set([])}set(e){try{this._isChangingDecorations=!0,this._editor.changeDecorations(t=>{this._decorationIds=t.deltaDecorations(this._decorationIds,e)})}finally{this._isChangingDecorations=!1}return this._decorationIds}append(e){let t=[];try{this._isChangingDecorations=!0,this._editor.changeDecorations(n=>{t=n.deltaDecorations([],e),this._decorationIds=this._decorationIds.concat(t)})}finally{this._isChangingDecorations=!1}return t}},k_e=`%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%206%203'%20enable-background%3D'new%200%200%206%203'%20height%3D'3'%20width%3D'6'%3E%3Cg%20fill%3D'`,A_e=`'%3E%3Cpolygon%20points%3D'5.5%2C0%202.5%2C3%201.1%2C3%204.1%2C0'%2F%3E%3Cpolygon%20points%3D'4%2C0%206%2C2%206%2C0.6%205.4%2C0'%2F%3E%3Cpolygon%20points%3D'0%2C2%201%2C3%202.4%2C3%200%2C0.6'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E`;function WD(e){return k_e+encodeURIComponent(e.toString())+A_e}var j_e=`%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%223%22%20width%3D%2212%22%3E%3Cg%20fill%3D%22`,M_e=`%22%3E%3Ccircle%20cx%3D%221%22%20cy%3D%221%22%20r%3D%221%22%2F%3E%3Ccircle%20cx%3D%225%22%20cy%3D%221%22%20r%3D%221%22%2F%3E%3Ccircle%20cx%3D%229%22%20cy%3D%221%22%20r%3D%221%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E`;function GD(e){return j_e+encodeURIComponent(e.toString())+M_e}Lx((e,t)=>{let n=e.getColor(N_);n&&(t.addRule(`.monaco-editor .squiggly-error { background: url("data:image/svg+xml,${WD(n)}") repeat-x bottom left; }`),t.addRule(`:root { --monaco-editor-error-decoration: url("data:image/svg+xml,${WD(n)}"); }`));let r=e.getColor(P_);r&&(t.addRule(`.monaco-editor .squiggly-warning { background: url("data:image/svg+xml,${WD(r)}") repeat-x bottom left; }`),t.addRule(`:root { --monaco-editor-warning-decoration: url("data:image/svg+xml,${WD(r)}"); }`));let i=e.getColor(I_);i&&(t.addRule(`.monaco-editor .squiggly-info { background: url("data:image/svg+xml,${WD(i)}") repeat-x bottom left; }`),t.addRule(`:root { --monaco-editor-info-decoration: url("data:image/svg+xml,${WD(i)}"); }`));let a=e.getColor(oce);a&&(t.addRule(`.monaco-editor .squiggly-hint { background: url("data:image/svg+xml,${GD(a)}") no-repeat bottom left; }`),t.addRule(`:root { --monaco-editor-hint-decoration: url("data:image/svg+xml,${GD(a)}"); }`));let o=e.getColor(Ide);o&&(t.addRule(`.monaco-editor.showUnused .squiggly-inline-unnecessary { opacity: ${o.rgba.a}; }`),t.addRule(`:root { --monaco-editor-unnecessary-decoration-opacity: ${o.rgba.a}; }`))});var N_e=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},KD=function(e,t){return function(n,r){t(n,r,e)}},qD=Eu(`hoverService`),JD=class extends O{get delay(){return this.isInstantlyHovering()?0:this.hoverOptions?.dynamicDelay?e=>this.hoverOptions?.dynamicDelay?.(e)??this._delay:this._delay}constructor(e,t,n={},r,i){super(),this.placement=e,this.hoverOptions=t,this.overrideOptions=n,this.configurationService=r,this.hoverService=i,this.lastHoverHideTime=0,this.timeLimit=200,this.hoverDisposables=this._register(new D),this._delay=this.configurationService.getValue(`workbench.hover.delay`),this._register(this.configurationService.onDidChangeConfiguration(e=>{e.affectsConfiguration(`workbench.hover.delay`)&&(this._delay=this.configurationService.getValue(`workbench.hover.delay`))}))}showHover(e,t){let n=typeof this.overrideOptions==`function`?this.overrideOptions(e,t):this.overrideOptions;this.hoverDisposables.clear();let r=Gl(e.target)?[e.target]:e.target.targetElements;for(let e of r)this.hoverDisposables.add(gl(e,`keydown`,e=>{e.equals(9)&&this.hoverService.hideHover()}));let i=Gl(e.content)?void 0:typeof e.content==`string`?e.content.toString():e.content.value;return this.hoverService.showInstantHover({...e,...n,persistence:{hideOnKeyDown:!0,...n.persistence},id:i,appearance:{...e.appearance,compact:!0,skipFadeInAnimation:this.isInstantlyHovering(),...n.appearance}},t)}isInstantlyHovering(){return!!this.hoverOptions?.instantHover&&Date.now()-this.lastHoverHideTime<this.timeLimit}onDidHideHover(){this.hoverDisposables.clear(),this.hoverOptions?.instantHover&&(this.lastHoverHideTime=Date.now())}};JD=N_e([KD(3,Uf),KD(4,qD)],JD);var P_e={showHover:function(){throw Error(`Native hover function not implemented.`)},delay:0,showNativeHover:!0},YD=Eu(`contextViewService`),XD=Eu(`contextMenuService`),ZD=V,QD=class extends O{constructor(e){super(),this.containerDomNode=document.createElement(`div`),this.containerDomNode.className=`monaco-hover`,this.containerDomNode.classList.toggle(`fade-in`,!!e),this.containerDomNode.tabIndex=0,this.containerDomNode.setAttribute(`role`,`tooltip`),this.contentsDomNode=document.createElement(`div`),this.contentsDomNode.className=`monaco-hover-content`,this.scrollbar=this._register(new Gy(this.contentsDomNode,{consumeMouseWheelIfScrollbarIsNeeded:!0})),this.containerDomNode.appendChild(this.scrollbar.getDomNode())}onContentsChanged(){this.scrollbar.scanDomNode()}},$D=class e extends O{static render(t,n,r){return new e(t,n,r)}constructor(e,t,n){super(),this.actionLabel=t.label,this.actionKeybindingLabel=n,this.actionContainer=B(e,ZD(`div.action-container`)),this.actionContainer.setAttribute(`tabindex`,`0`),this.action=B(this.actionContainer,ZD(`a.action`)),this.action.setAttribute(`role`,`button`),t.iconClass&&B(this.action,ZD(`span.icon`)).classList.add(...t.iconClass.split(` `)),this.actionRenderedLabel=n?`${t.label} (${n})`:t.label;let r=B(this.action,ZD(`span`));r.textContent=this.actionRenderedLabel,this._store.add(new tO(this.actionContainer,t.run)),this._store.add(new nO(this.actionContainer,t.run,[3,10])),this.setEnabled(!0)}setEnabled(e){e?(this.actionContainer.classList.remove(`disabled`),this.actionContainer.removeAttribute(`aria-disabled`)):(this.actionContainer.classList.add(`disabled`),this.actionContainer.setAttribute(`aria-disabled`,`true`))}};function eO(e,t){return e&&t?w(7,`Inspect this in the accessible view with {0}.`,t):e?w(8,`Inspect this in the accessible view via the command Open Accessible View which is currently not triggerable via keybinding.`):``}var tO=class extends O{constructor(e,t){super(),this._register(R(e,z.CLICK,n=>{n.stopPropagation(),n.preventDefault(),t(e)}))}},nO=class extends O{constructor(e,t,n){super(),this._register(R(e,z.KEY_DOWN,r=>{let i=new _s(r);n.some(e=>i.equals(e))&&(r.stopPropagation(),r.preventDefault(),t(e))}))}};function F_e(e){let t=I_e(e);if(t&&t.length>0)return new Uint32Array(t)}var rO=0,iO=new Uint32Array(10);function I_e(e){if(rO=0,aO(e,oO,4352),rO>0||(aO(e,sO,4449),rO>0)||(aO(e,cO,4520),rO>0)||(aO(e,lO,12593),rO))return iO.subarray(0,rO);if(e>=44032&&e<=55203){let t=e-44032,n=t%588,r=Math.floor(t/588),i=Math.floor(n/28),a=n%28-1;if(r<oO.length?aO(r,oO,0):4352+r-12593<lO.length&&aO(4352+r,lO,12593),i<sO.length?aO(i,sO,0):4449+i-12593<lO.length&&aO(4449+i-12593,lO,12593),a>=0&&(a<cO.length?aO(a,cO,0):4520+a-12593<lO.length&&aO(4520+a-12593,lO,12593)),rO>0)return iO.subarray(0,rO)}}function aO(e,t,n){e>=n&&e<n+t.length&&L_e(t[e-n])}function L_e(e){e!==0&&(iO[rO++]=e&255,e>>8&&(iO[rO++]=e>>8&255),e>>16&&(iO[rO++]=e>>16&255))}var oO=new Uint8Array([114,82,115,101,69,102,97,113,81,116,84,100,119,87,99,122,120,118,103]),sO=new Uint16Array([107,111,105,79,106,112,117,80,104,27496,28520,27752,121,110,27246,28782,27758,98,109,27757,108]),cO=new Uint16Array([114,82,29810,115,30579,26483,101,102,29286,24934,29030,29798,30822,30310,26470,97,113,29809,116,84,100,119,99,122,120,118,103]),lO=new Uint16Array([114,82,29810,115,30579,26483,101,69,102,29286,24934,29030,29798,30822,30310,26470,97,113,81,29809,116,84,100,119,87,99,122,120,118,103,107,111,105,79,106,112,117,80,104,27496,28520,27752,121,110,27246,28782,27758,98,109,27757,108]);new jd(1e4);var R_e=new jd(1e4);function z_e(e){return V_e(e,`NFD`,R_e)}var B_e=/[^\u0000-\u0080]/;function V_e(e,t,n){if(!e)return e;let r=n.get(e);if(r)return r;let i;return i=B_e.test(e)?e.normalize(t):e,n.set(e,i),i}var uO=function(){let e=new jd(1e4),t=/[\u0300-\u036f]/g;return function(n){let r=e.get(n);if(r)return r;let i=z_e(n).replace(t,``),a=(i.length===n.length?i:n).toLowerCase();return e.set(n,a),a}}();function dO(...e){return function(t,n){for(let r=0,i=e.length;r<i;r++){let i=e[r](t,n);if(i)return i}return null}}pO.bind(void 0,!1);var fO=pO.bind(void 0,!0);function pO(e,t,n){if(!n||n.length<t.length)return null;let r;return r=e?Ao(n,t):n.indexOf(t)===0,r?t.length>0?[{start:0,end:t.length}]:[]:null}function H_e(e,t){if(e.length>t.length)return null;let n=t.toLowerCase().indexOf(e.toLowerCase());return n===-1?null:[{start:n,end:n+e.length}]}function U_e(e,t){if(e.length>t.length)return null;e=uO(e),t=uO(t);let n=t.indexOf(e);return n===-1?null:[{start:n,end:n+e.length}]}function mO(e,t){return e.length>t.length?null:hO(e.toLowerCase(),t.toLowerCase(),0,0)}function hO(e,t,n,r){if(n===e.length)return[];if(r===t.length)return null;if(e[n]===t[r]){let i=null;return(i=hO(e,t,n+1,r+1))?EO({start:r,end:r+1},i):null}return hO(e,t,n,r+1)}function gO(e){return 97<=e&&e<=122}function _O(e){return 65<=e&&e<=90}function vO(e){return 48<=e&&e<=57}function yO(e){return e===32||e===9||e===10||e===13}var bO=new Set;`()[]{}<>\`'"-/;:,.?!`.split(``).forEach(e=>bO.add(e.charCodeAt(0)));function xO(e){return yO(e)||bO.has(e)}function SO(e,t){return e===t||xO(e)&&xO(t)}var CO=new Map;function wO(e){if(CO.has(e))return CO.get(e);let t,n=F_e(e);return n&&(t=n),CO.set(e,t),t}function TO(e){return gO(e)||_O(e)||vO(e)}function EO(e,t){return t.length===0?t=[e]:e.end===t[0].start?t[0].start=e.start:t.unshift(e),t}function DO(e,t){for(let n=t;n<e.length;n++){let t=e.charCodeAt(n);if(_O(t)||vO(t)||n>0&&!TO(e.charCodeAt(n-1)))return n}return e.length}function OO(e,t,n,r){if(n===e.length)return[];if(r===t.length||e[n]!==t[r].toLowerCase())return null;{let i=null,a=r+1;for(i=OO(e,t,n+1,r+1);!i&&(a=DO(t,a))<t.length;)i=OO(e,t,n+1,a),a++;return i===null?null:EO({start:r,end:r+1},i)}}function W_e(e){let t=0,n=0,r=0,i=0,a=0;for(let o=0;o<e.length;o++)a=e.charCodeAt(o),_O(a)&&t++,gO(a)&&n++,TO(a)&&r++,vO(a)&&i++;return{upperPercent:t/e.length,lowerPercent:n/e.length,alphaPercent:r/e.length,numericPercent:i/e.length}}function G_e(e){let{upperPercent:t,lowerPercent:n}=e;return n===0&&t>.6}function K_e(e){let{upperPercent:t,lowerPercent:n,alphaPercent:r,numericPercent:i}=e;return n>.2&&t<.8&&r>.6&&i<.2}function q_e(e){let t=0,n=0,r=0,i=0;for(let a=0;a<e.length;a++)r=e.charCodeAt(a),_O(r)&&t++,gO(r)&&n++,yO(r)&&i++;return(t===0||n===0)&&i===0?e.length<=30:t<=5}function kO(e,t){if(!t||(t=t.trim(),t.length===0)||!q_e(e))return null;t.length>60&&(t=t.substring(0,60));let n=W_e(t);if(!K_e(n)){if(!G_e(n))return null;t=t.toLowerCase()}let r=null,i=0;for(e=e.toLowerCase();i<t.length&&(r=OO(e,t,0,i))===null;)i=DO(t,i+1);return r}function J_e(e,t,n=!1){if(!t||t.length===0)return null;let r=null,i=0;e=uO(e),t=uO(t);let a=new Map;for(;i<t.length&&(r=jO(e,t,0,i,n,a),r===null);)i=MO(t,i+1);return r}function AO(e){if(e===null)return null;let t=[];for(let n of e)t.push({start:n.start,end:n.end});return t}function jO(e,t,n,r,i,a){if(n===e.length)return[];if(r===t.length)return null;let o=n*(t.length+1)+r,s=a.get(o);if(s!==void 0)return AO(s);let c=Y_e(e,t,n,r,i,a);return a.set(o,AO(c)),c}function Y_e(e,t,n,r,i,a){let o=0;if(!SO(e.charCodeAt(n),t.charCodeAt(r))){let i=wO(e.charCodeAt(n));if(!i)return null;for(let e=0;e<i.length;e++)if(!SO(i[e],t.charCodeAt(r+e)))return null;o+=i.length-1}let s=null,c=r+o+1;if(s=jO(e,t,n+1,c,i,a),!i)for(;!s&&(c=MO(t,c))<t.length;)s=jO(e,t,n+1,c,i,a),c++;if(!s)return null;if(e.charCodeAt(n)!==t.charCodeAt(r)){let i=wO(e.charCodeAt(n));if(!i)return s;for(let e=0;e<i.length;e++)if(i[e]!==t.charCodeAt(r+e))return s}return EO({start:r,end:r+o+1},s)}function MO(e,t){for(let n=t;n<e.length;n++)if(xO(e.charCodeAt(n))||n>0&&xO(e.charCodeAt(n-1)))return n;return e.length}var X_e=dO(fO,kO,H_e),Z_e=dO(fO,kO,mO),NO=new jd(1e4);function PO(e,t,n=!1){if(typeof e!=`string`||typeof t!=`string`)return null;let r=NO.get(e);r||(r=new RegExp(sne(e),`i`),NO.set(e,r));let i=r.exec(t);return i?[{start:i.index,end:i.index+i[0].length}]:n?Z_e(e,t):X_e(e,t)}function Q_e(e,t){let n=YO(e,e.toLowerCase(),0,t,t.toLowerCase(),0,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return n?FO(n):null}function $_e(e,t,n,r,i,a){let o=Math.min(13,e.length);for(;n<o;n++){let o=YO(e,t,n,r,i,a,{firstMatchCanBeWeak:!0,boostFullMatch:!0});if(o)return o}return[0,a]}function FO(e){if(e===void 0)return[];let t=[],n=e[1];for(let r=e.length-1;r>1;r--){let i=e[r]+n,a=t[t.length-1];a&&a.end===i?a.end=i+1:t.push({start:i,end:i+1})}return t}var IO=128;function LO(){let e=[],t=[];for(let e=0;e<=IO;e++)t[e]=0;for(let n=0;n<=IO;n++)e.push(t.slice(0));return e}function RO(e){let t=[];for(let n=0;n<=e;n++)t[n]=0;return t}var zO=RO(256),BO=RO(256),VO=LO(),HO=LO(),UO=LO();function WO(e,t){if(t<0||t>=e.length)return!1;let n=e.codePointAt(t);switch(n){case 95:case 45:case 46:case 32:case 47:case 92:case 39:case 34:case 58:case 36:case 60:case 62:case 40:case 41:case 91:case 93:case 123:case 125:return!0;case void 0:return!1;default:return!!Jo(n)}}function GO(e,t){if(t<0||t>=e.length)return!1;switch(e.charCodeAt(t)){case 32:case 9:return!0;default:return!1}}function KO(e,t,n){return t[e]!==n[e]}function eve(e,t,n,r,i,a,o=!1){for(;t<n&&i<a;)e[t]===r[i]&&(o&&(zO[t]=i),t+=1),i+=1;return t===n}var qO;(function(e){e.Default=[-100,0];function t(e){return!e||e.length===2&&e[0]===-100&&e[1]===0}e.isDefault=t})(qO||={});var JO=class{static{this.default={boostFullMatch:!0,firstMatchCanBeWeak:!1}}constructor(e,t){this.firstMatchCanBeWeak=e,this.boostFullMatch=t}};function YO(e,t,n,r,i,a,o=JO.default){let s=e.length>IO?IO:e.length,c=r.length>IO?IO:r.length;if(n>=s||a>=c||s-n>c-a||!eve(t,n,s,i,a,c,!0))return;tve(s,c,n,a,t,i);let l=1,u=1,d=n,f=a,p=[!1];for(l=1,d=n;d<s;l++,d++){let o=zO[d],m=BO[d],h=d+1<s?BO[d+1]:c;for(u=o-a+1,f=o;f<h;u++,f++){let s=-(2**53-1),h=!1;f<=m&&(s=nve(e,t,d,n,r,i,f,c,a,VO[l-1][u-1]===0,p));let g=0;s!==-(2**53-1)&&(h=!0,g=s+HO[l-1][u-1]);let _=f>o,v=_?HO[l][u-1]+(VO[l][u-1]>0?-5:0):0,y=f>o+1&&VO[l][u-1]>0,b=y?HO[l][u-2]+(VO[l][u-2]>0?-5:0):0;if(y&&(!_||b>=v)&&(!h||b>=g))HO[l][u]=b,UO[l][u]=3,VO[l][u]=0;else if(_&&(!h||v>=g))HO[l][u]=v,UO[l][u]=2,VO[l][u]=0;else if(h)HO[l][u]=g,UO[l][u]=1,VO[l][u]=VO[l-1][u-1]+1;else throw Error(`not possible`)}}if(!p[0]&&!o.firstMatchCanBeWeak)return;l--,u--;let m=[HO[l][u],a],h=0,g=0;for(;l>=1;){let e=u;do{let t=UO[l][e];if(t===3)e-=2;else if(t===2)--e;else break}while(e>=1);h>1&&t[n+l-1]===i[a+u-1]&&!KO(e+a-1,r,i)&&h+1>VO[l][e]&&(e=u),e===u?h++:h=1,g||=e,l--,u=e-1,m.push(u)}c-a===s&&o.boostFullMatch&&(m[0]+=2);let _=g-s;return m[0]-=_,m}function tve(e,t,n,r,i,a){let o=e-1,s=t-1;for(;o>=n&&s>=r;)i[o]===a[s]&&(BO[o]=s,o--),s--}function nve(e,t,n,r,i,a,o,s,c,l,u){if(t[n]!==a[o])return-(2**53-1);let d=1,f=!1;return o===n-r?d=e[n]===i[o]?7:5:KO(o,i,a)&&(o===0||!KO(o-1,i,a))?(d=e[n]===i[o]?7:5,f=!0):WO(a,o)&&(o===0||!WO(a,o-1))?d=5:(WO(a,o-1)||GO(a,o-1))&&(d=5,f=!0),d>1&&n===r&&(u[0]=!0),f||=KO(o,i,a)||WO(a,o-1)||GO(a,o-1),n===r?o>c&&(d-=f?3:5):d+=l?f?2:0:+!f,o+1===s&&(d-=f?3:5),d}function rve(e,t,n,r,i,a,o){return ive(e,t,n,r,i,a,!0,o)}function ive(e,t,n,r,i,a,o,s){let c=YO(e,t,n,r,i,a,s);if(e.length>=3){let t=Math.min(7,e.length-1);for(let o=n+1;o<t;o++){let t=ave(e,o);if(t){let e=YO(t,t.toLowerCase(),n,r,i,a,s);e&&(e[0]-=3,(!c||e[0]>c[0])&&(c=e))}}}return c}function ave(e,t){if(t+1>=e.length)return;let n=e[t],r=e[t+1];if(n!==r)return e.slice(0,t)+r+n+e.slice(t+2)}var ove=`$(`,XO=RegExp(`\\$\\(${Iu.iconNameExpression}(?:${Iu.iconModifierExpression})?\\)`,`g`),sve=RegExp(`(\\\\)?${XO.source}`,`g`);function cve(e){return e.replace(sve,(e,t)=>t?e:`\\${e}`)}var lve=RegExp(`\\\\${XO.source}`,`g`);function uve(e){return e.replace(lve,e=>`\\${e}`)}var dve=RegExp(`(\\s)?(\\\\)?${XO.source}(\\s)?`,`g`);function ZO(e){return e.indexOf(ove)===-1?e:e.replace(dve,(e,t,n,r)=>n?e:t||r||``)}function QO(e){return e?e.replace(/\$\((.*?)\)/g,(e,t)=>` ${t} `).trim():``}var $O=RegExp(`\\$\\(${Iu.iconNameCharacter}+\\)`,`g`);function ek(e){$O.lastIndex=0;let t=``,n=[],r=0;for(;;){let i=$O.lastIndex,a=$O.exec(e),o=e.substring(i,a?.index);if(o.length>0){t+=o;for(let e=0;e<o.length;e++)n.push(r)}if(!a)break;r+=a[0].length}return{text:t,iconOffsets:n}}function tk(e,t,n=!1){let{text:r,iconOffsets:i}=t;if(!i||i.length===0)return PO(e,r,n);let a=mo(r,` `),o=r.length-a.length,s=PO(e,a,n);if(s)for(let e of s){let t=i[e.start+o]+o;e.start+=t,e.end+=t}return s}var nk=class{constructor(e=``,t=!1){if(this.value=e,typeof this.value!=`string`)throw Mt(`value`);typeof t==`boolean`?(this.isTrusted=t,this.supportThemeIcons=!1,this.supportHtml=!1,this.supportAlertSyntax=!1):(this.isTrusted=t.isTrusted??void 0,this.supportThemeIcons=t.supportThemeIcons??!1,this.supportHtml=t.supportHtml??!1,this.supportAlertSyntax=t.supportAlertSyntax??!1)}appendText(e,t=0){return this.value+=pve(this.supportThemeIcons?cve(e):e).replace(/([ \t]+)/g,(e,t)=>`&nbsp;`.repeat(t.length)).replace(/\>/gm,`\\>`).replace(/\n/g,t===1?`\\
@@ -1209,7 +1209,7 @@ It is recommended to remove them from the file. This can be configured via \`edi
1209
1209
  `+` `.repeat(t)),Array(n5).fill(0).map((e,t)=>`\r`+` `.repeat(t)),Array(n5).fill(0).map((e,t)=>`\r
1210
1210
  `+` `.repeat(t)),Array(n5).fill(0).map((e,t)=>`
1211
1211
  `+` `.repeat(t)),Array(n5).fill(0).map((e,t)=>`\r`+` `.repeat(t)),Array(n5).fill(0).map((e,t)=>`\r
1212
- `+` `.repeat(t));var SJe;(function(e){e.DEFAULT={allowTrailingComma:!1}})(SJe||={});var CJe=bJe,wJe;(function(e){e[e.None=0]=`None`,e[e.UnexpectedEndOfComment=1]=`UnexpectedEndOfComment`,e[e.UnexpectedEndOfString=2]=`UnexpectedEndOfString`,e[e.UnexpectedEndOfNumber=3]=`UnexpectedEndOfNumber`,e[e.InvalidUnicode=4]=`InvalidUnicode`,e[e.InvalidEscapeCharacter=5]=`InvalidEscapeCharacter`,e[e.InvalidCharacter=6]=`InvalidCharacter`})(wJe||={});var TJe;(function(e){e[e.OpenBraceToken=1]=`OpenBraceToken`,e[e.CloseBraceToken=2]=`CloseBraceToken`,e[e.OpenBracketToken=3]=`OpenBracketToken`,e[e.CloseBracketToken=4]=`CloseBracketToken`,e[e.CommaToken=5]=`CommaToken`,e[e.ColonToken=6]=`ColonToken`,e[e.NullKeyword=7]=`NullKeyword`,e[e.TrueKeyword=8]=`TrueKeyword`,e[e.FalseKeyword=9]=`FalseKeyword`,e[e.StringLiteral=10]=`StringLiteral`,e[e.NumericLiteral=11]=`NumericLiteral`,e[e.LineCommentTrivia=12]=`LineCommentTrivia`,e[e.BlockCommentTrivia=13]=`BlockCommentTrivia`,e[e.LineBreakTrivia=14]=`LineBreakTrivia`,e[e.Trivia=15]=`Trivia`,e[e.Unknown=16]=`Unknown`,e[e.EOF=17]=`EOF`})(TJe||={});var EJe;(function(e){e[e.InvalidSymbol=1]=`InvalidSymbol`,e[e.InvalidNumberFormat=2]=`InvalidNumberFormat`,e[e.PropertyNameExpected=3]=`PropertyNameExpected`,e[e.ValueExpected=4]=`ValueExpected`,e[e.ColonExpected=5]=`ColonExpected`,e[e.CommaExpected=6]=`CommaExpected`,e[e.CloseBraceExpected=7]=`CloseBraceExpected`,e[e.CloseBracketExpected=8]=`CloseBracketExpected`,e[e.EndOfFileExpected=9]=`EndOfFileExpected`,e[e.InvalidCommentToken=10]=`InvalidCommentToken`,e[e.UnexpectedEndOfComment=11]=`UnexpectedEndOfComment`,e[e.UnexpectedEndOfString=12]=`UnexpectedEndOfString`,e[e.UnexpectedEndOfNumber=13]=`UnexpectedEndOfNumber`,e[e.InvalidUnicode=14]=`InvalidUnicode`,e[e.InvalidEscapeCharacter=15]=`InvalidEscapeCharacter`,e[e.InvalidCharacter=16]=`InvalidCharacter`})(EJe||={});function DJe(e){return{getInitialState:()=>new o5(null,null,!1,null),tokenize:(t,n)=>LJe(e,t,n)}}var r5=`delimiter.bracket.json`,i5=`delimiter.array.json`,OJe=`delimiter.colon.json`,kJe=`delimiter.comma.json`,AJe=`keyword.json`,jJe=`keyword.json`,MJe=`string.value.json`,NJe=`number.json`,PJe=`string.key.json`,FJe=`comment.block.json`,IJe=`comment.line.json`,a5=class e{constructor(e,t){this.parent=e,this.type=t}static pop(e){return e?e.parent:null}static push(t,n){return new e(t,n)}static equals(e,t){if(!e&&!t)return!0;if(!e||!t)return!1;for(;e&&t;){if(e===t)return!0;if(e.type!==t.type)return!1;e=e.parent,t=t.parent}return!0}},o5=class e{constructor(e,t,n,r){this._state=e,this.scanError=t,this.lastWasColon=n,this.parents=r}clone(){return new e(this._state,this.scanError,this.lastWasColon,this.parents)}equals(t){return t===this?!0:!t||!(t instanceof e)?!1:this.scanError===t.scanError&&this.lastWasColon===t.lastWasColon&&a5.equals(this.parents,t.parents)}getStateData(){return this._state}setStateData(e){this._state=e}};function LJe(e,t,n,r=0){let i=0,a=!1;switch(n.scanError){case 2:t=`"`+t,i=1;break;case 1:t=`/*`+t,i=2}let o=CJe(t),s=n.lastWasColon,c=n.parents,l={tokens:[],endState:n.clone()};for(;;){let e=r+o.getPosition(),u=``,d=o.scan();if(d===17)break;if(e===r+o.getPosition())throw Error(`Scanner did not advance, next 3 characters are: `+t.substr(o.getPosition(),3));switch(a&&(e-=i),a=i>0,d){case 1:c=a5.push(c,0),u=r5,s=!1;break;case 2:c=a5.pop(c),u=r5,s=!1;break;case 3:c=a5.push(c,1),u=i5,s=!1;break;case 4:c=a5.pop(c),u=i5,s=!1;break;case 6:u=OJe,s=!0;break;case 5:u=kJe,s=!1;break;case 8:case 9:u=AJe,s=!1;break;case 7:u=jJe,s=!1;break;case 10:let e=(c?c.type:0)===1;u=s||e?MJe:PJe,s=!1;break;case 11:u=NJe,s=!1}switch(d){case 12:u=IJe;break;case 13:u=FJe}l.endState=new o5(n.getStateData(),o.getTokenError(),s,c),l.tokens.push({startIndex:e,scopes:u})}return l}var RJe=e({CompletionAdapter:()=>w8,DefinitionAdapter:()=>M8,DiagnosticsAdapter:()=>C8,DocumentColorAdapter:()=>U8,DocumentFormattingEditProvider:()=>B8,DocumentHighlightAdapter:()=>j8,DocumentLinkAdapter:()=>z8,DocumentRangeFormattingEditProvider:()=>V8,DocumentSymbolAdapter:()=>I8,FoldingRangeAdapter:()=>W8,HoverAdapter:()=>k8,ReferenceAdapter:()=>P8,RenameAdapter:()=>F8,SelectionRangeAdapter:()=>G8,WorkerManager:()=>Q8,fromPosition:()=>T8,fromRange:()=>E8,getWorker:()=>zJe,setupMode:()=>VJe,toRange:()=>D8,toTextEdit:()=>O8}),s5;function zJe(){return new Promise((e,t)=>{if(!s5)return t(`JSON not registered!`);e(s5)})}var BJe=class extends C8{constructor(e,t,n){super(e,t,n.onDidChange),this._disposables.push(nU.onWillDisposeModel(e=>{this._resetSchema(e.uri)})),this._disposables.push(nU.onDidChangeModelLanguage(e=>{this._resetSchema(e.model.uri)}))}_resetSchema(e){this._worker().then(t=>{t.resetSchema(e.toString())})}};function VJe(e){let t=[],n=[],r=new Q8(e);t.push(r),s5=(...e)=>r.getLanguageServiceWorker(...e);function i(){let{languageId:t,modeConfiguration:r}=e;l5(n),r.documentFormattingEdits&&n.push(Q.registerDocumentFormattingEditProvider(t,new B8(s5))),r.documentRangeFormattingEdits&&n.push(Q.registerDocumentRangeFormattingEditProvider(t,new V8(s5))),r.completionItems&&n.push(Q.registerCompletionItemProvider(t,new w8(s5,[` `,`:`,`"`]))),r.hovers&&n.push(Q.registerHoverProvider(t,new k8(s5))),r.documentSymbols&&n.push(Q.registerDocumentSymbolProvider(t,new I8(s5))),r.tokens&&n.push(Q.setTokensProvider(t,DJe(!0))),r.colors&&n.push(Q.registerColorProvider(t,new U8(s5))),r.foldingRanges&&n.push(Q.registerFoldingRangeProvider(t,new W8(s5))),r.diagnostics&&n.push(new BJe(t,s5,e)),r.selectionRanges&&n.push(Q.registerSelectionRangeProvider(t,new G8(s5)))}i(),t.push(Q.setLanguageConfiguration(e.languageId,HJe));let a=e.modeConfiguration;return e.onDidChange(e=>{e.modeConfiguration!==a&&(a=e.modeConfiguration,i())}),t.push(c5(n)),c5(t)}function c5(e){return{dispose:()=>l5(e)}}function l5(e){for(;e.length;)e.pop().dispose()}var HJe={wordPattern:/(-?\d*\.\d\w*)|([^\[\{\]\}\:\"\,\s]+)/g,comments:{lineComment:`//`,blockComment:[`/*`,`*/`]},brackets:[[`{`,`}`],[`[`,`]`]],autoClosingPairs:[{open:`{`,close:`}`,notIn:[`string`]},{open:`[`,close:`]`,notIn:[`string`]},{open:`"`,close:`"`,notIn:[`string`]}]},u5=class{constructor(e,t){this._modeId=e,this._defaults=t,this._worker=null,this._client=null,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker()),this._updateExtraLibsToken=0,this._extraLibsChangeListener=this._defaults.onDidExtraLibsChange(()=>this._updateExtraLibs())}dispose(){this._configChangeListener.dispose(),this._extraLibsChangeListener.dispose(),this._stopWorker()}_stopWorker(){this._worker&&=(this._worker.dispose(),null),this._client=null}async _updateExtraLibs(){if(!this._worker)return;let e=++this._updateExtraLibsToken,t=await this._worker.getProxy();this._updateExtraLibsToken===e&&t.updateExtraLibs(this._defaults.getExtraLibs())}_getClient(){return this._client||=(async()=>(this._worker=G6({moduleId:`vs/language/typescript/tsWorker`,createWorker:()=>new Worker(new URL(`/assets/ts.worker-Dj4vg72D.js`,``+import.meta.url),{type:`module`}),label:this._modeId,keepIdleModels:!0,createData:{compilerOptions:this._defaults.getCompilerOptions(),extraLibs:this._defaults.getExtraLibs(),customWorkerPath:this._defaults.workerOptions.customWorkerPath,inlayHintsOptions:this._defaults.inlayHintsOptions}}),this._defaults.getEagerModelSync()?await this._worker.withSyncedResources(nU.getModels().filter(e=>e.getLanguageId()===this._modeId).map(e=>e.uri)):await this._worker.getProxy()))(),this._client}async getLanguageServiceWorker(...e){let t=await this._getClient();return this._worker&&await this._worker.withSyncedResources(e),t}},UJe=`5.9.3`,WJe=e({JsxEmit:()=>f5,ModuleKind:()=>d5,ModuleResolutionKind:()=>h5,NewLineKind:()=>p5,ScriptTarget:()=>m5,getJavaScriptWorker:()=>qJe,getTypeScriptWorker:()=>KJe,javascriptDefaults:()=>y5,typescriptDefaults:()=>v5,typescriptVersion:()=>GJe}),d5=(e=>(e[e.None=0]=`None`,e[e.CommonJS=1]=`CommonJS`,e[e.AMD=2]=`AMD`,e[e.UMD=3]=`UMD`,e[e.System=4]=`System`,e[e.ES2015=5]=`ES2015`,e[e.ESNext=99]=`ESNext`,e))(d5||{}),f5=(e=>(e[e.None=0]=`None`,e[e.Preserve=1]=`Preserve`,e[e.React=2]=`React`,e[e.ReactNative=3]=`ReactNative`,e[e.ReactJSX=4]=`ReactJSX`,e[e.ReactJSXDev=5]=`ReactJSXDev`,e))(f5||{}),p5=(e=>(e[e.CarriageReturnLineFeed=0]=`CarriageReturnLineFeed`,e[e.LineFeed=1]=`LineFeed`,e))(p5||{}),m5=(e=>(e[e.ES3=0]=`ES3`,e[e.ES5=1]=`ES5`,e[e.ES2015=2]=`ES2015`,e[e.ES2016=3]=`ES2016`,e[e.ES2017=4]=`ES2017`,e[e.ES2018=5]=`ES2018`,e[e.ES2019=6]=`ES2019`,e[e.ES2020=7]=`ES2020`,e[e.ESNext=99]=`ESNext`,e[e.JSON=100]=`JSON`,e[e.Latest=99]=`Latest`,e))(m5||{}),h5=(e=>(e[e.Classic=1]=`Classic`,e[e.NodeJs=2]=`NodeJs`,e))(h5||{}),g5=class{constructor(e,t,n,r,i){this._onDidChange=new JH,this._onDidExtraLibsChange=new JH,this._extraLibs=Object.create(null),this._removedExtraLibs=Object.create(null),this._eagerModelSync=!1,this.setCompilerOptions(e),this.setDiagnosticsOptions(t),this.setWorkerOptions(n),this.setInlayHintsOptions(r),this.setModeConfiguration(i),this._onDidExtraLibsChangeTimeout=-1}get onDidChange(){return this._onDidChange.event}get onDidExtraLibsChange(){return this._onDidExtraLibsChange.event}get modeConfiguration(){return this._modeConfiguration}get workerOptions(){return this._workerOptions}get inlayHintsOptions(){return this._inlayHintsOptions}getExtraLibs(){return this._extraLibs}addExtraLib(e,t){let n;if(n=t===void 0?`ts:extralib-${Math.random().toString(36).substring(2,15)}`:t,this._extraLibs[n]&&this._extraLibs[n].content===e)return{dispose:()=>{}};let r=1;return this._removedExtraLibs[n]&&(r=this._removedExtraLibs[n]+1),this._extraLibs[n]&&(r=this._extraLibs[n].version+1),this._extraLibs[n]={content:e,version:r},this._fireOnDidExtraLibsChangeSoon(),{dispose:()=>{let e=this._extraLibs[n];e&&e.version===r&&(delete this._extraLibs[n],this._removedExtraLibs[n]=r,this._fireOnDidExtraLibsChangeSoon())}}}setExtraLibs(e){for(let e in this._extraLibs)this._removedExtraLibs[e]=this._extraLibs[e].version;if(this._extraLibs=Object.create(null),e&&e.length>0)for(let t of e){let e=t.filePath||`ts:extralib-${Math.random().toString(36).substring(2,15)}`,n=t.content,r=1;this._removedExtraLibs[e]&&(r=this._removedExtraLibs[e]+1),this._extraLibs[e]={content:n,version:r}}this._fireOnDidExtraLibsChangeSoon()}_fireOnDidExtraLibsChangeSoon(){this._onDidExtraLibsChangeTimeout===-1&&(this._onDidExtraLibsChangeTimeout=window.setTimeout(()=>{this._onDidExtraLibsChangeTimeout=-1,this._onDidExtraLibsChange.fire(void 0)},0))}getCompilerOptions(){return this._compilerOptions}setCompilerOptions(e){this._compilerOptions=e||Object.create(null),this._onDidChange.fire(void 0)}getDiagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(e){this._diagnosticsOptions=e||Object.create(null),this._onDidChange.fire(void 0)}setWorkerOptions(e){this._workerOptions=e||Object.create(null),this._onDidChange.fire(void 0)}setInlayHintsOptions(e){this._inlayHintsOptions=e||Object.create(null),this._onDidChange.fire(void 0)}setMaximumWorkerIdleTime(e){}setEagerModelSync(e){this._eagerModelSync=e}getEagerModelSync(){return this._eagerModelSync}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(void 0)}},GJe=UJe,_5={completionItems:!0,hovers:!0,documentSymbols:!0,definitions:!0,references:!0,documentHighlights:!0,rename:!0,diagnostics:!0,documentRangeFormattingEdits:!0,signatureHelp:!0,onTypeFormattingEdits:!0,codeActions:!0,inlayHints:!0},v5=new g5({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{},_5),y5=new g5({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{},_5),KJe=()=>b5().then(e=>e.getTypeScriptWorker()),qJe=()=>b5().then(e=>e.getJavaScriptWorker());function b5(){return r(()=>Promise.resolve().then(()=>JJe),void 0)}Q.onLanguage(`typescript`,()=>b5().then(e=>e.setupTypeScript(v5))),Q.onLanguage(`javascript`,()=>b5().then(e=>e.setupJavaScript(y5)));var x5={};x5[`lib.d.ts`]=!0,x5[`lib.decorators.d.ts`]=!0,x5[`lib.decorators.legacy.d.ts`]=!0,x5[`lib.dom.asynciterable.d.ts`]=!0,x5[`lib.dom.d.ts`]=!0,x5[`lib.dom.iterable.d.ts`]=!0,x5[`lib.es2015.collection.d.ts`]=!0,x5[`lib.es2015.core.d.ts`]=!0,x5[`lib.es2015.d.ts`]=!0,x5[`lib.es2015.generator.d.ts`]=!0,x5[`lib.es2015.iterable.d.ts`]=!0,x5[`lib.es2015.promise.d.ts`]=!0,x5[`lib.es2015.proxy.d.ts`]=!0,x5[`lib.es2015.reflect.d.ts`]=!0,x5[`lib.es2015.symbol.d.ts`]=!0,x5[`lib.es2015.symbol.wellknown.d.ts`]=!0,x5[`lib.es2016.array.include.d.ts`]=!0,x5[`lib.es2016.d.ts`]=!0,x5[`lib.es2016.full.d.ts`]=!0,x5[`lib.es2016.intl.d.ts`]=!0,x5[`lib.es2017.arraybuffer.d.ts`]=!0,x5[`lib.es2017.d.ts`]=!0,x5[`lib.es2017.date.d.ts`]=!0,x5[`lib.es2017.full.d.ts`]=!0,x5[`lib.es2017.intl.d.ts`]=!0,x5[`lib.es2017.object.d.ts`]=!0,x5[`lib.es2017.sharedmemory.d.ts`]=!0,x5[`lib.es2017.string.d.ts`]=!0,x5[`lib.es2017.typedarrays.d.ts`]=!0,x5[`lib.es2018.asyncgenerator.d.ts`]=!0,x5[`lib.es2018.asynciterable.d.ts`]=!0,x5[`lib.es2018.d.ts`]=!0,x5[`lib.es2018.full.d.ts`]=!0,x5[`lib.es2018.intl.d.ts`]=!0,x5[`lib.es2018.promise.d.ts`]=!0,x5[`lib.es2018.regexp.d.ts`]=!0,x5[`lib.es2019.array.d.ts`]=!0,x5[`lib.es2019.d.ts`]=!0,x5[`lib.es2019.full.d.ts`]=!0,x5[`lib.es2019.intl.d.ts`]=!0,x5[`lib.es2019.object.d.ts`]=!0,x5[`lib.es2019.string.d.ts`]=!0,x5[`lib.es2019.symbol.d.ts`]=!0,x5[`lib.es2020.bigint.d.ts`]=!0,x5[`lib.es2020.d.ts`]=!0,x5[`lib.es2020.date.d.ts`]=!0,x5[`lib.es2020.full.d.ts`]=!0,x5[`lib.es2020.intl.d.ts`]=!0,x5[`lib.es2020.number.d.ts`]=!0,x5[`lib.es2020.promise.d.ts`]=!0,x5[`lib.es2020.sharedmemory.d.ts`]=!0,x5[`lib.es2020.string.d.ts`]=!0,x5[`lib.es2020.symbol.wellknown.d.ts`]=!0,x5[`lib.es2021.d.ts`]=!0,x5[`lib.es2021.full.d.ts`]=!0,x5[`lib.es2021.intl.d.ts`]=!0,x5[`lib.es2021.promise.d.ts`]=!0,x5[`lib.es2021.string.d.ts`]=!0,x5[`lib.es2021.weakref.d.ts`]=!0,x5[`lib.es2022.array.d.ts`]=!0,x5[`lib.es2022.d.ts`]=!0,x5[`lib.es2022.error.d.ts`]=!0,x5[`lib.es2022.full.d.ts`]=!0,x5[`lib.es2022.intl.d.ts`]=!0,x5[`lib.es2022.object.d.ts`]=!0,x5[`lib.es2022.regexp.d.ts`]=!0,x5[`lib.es2022.string.d.ts`]=!0,x5[`lib.es2023.array.d.ts`]=!0,x5[`lib.es2023.collection.d.ts`]=!0,x5[`lib.es2023.d.ts`]=!0,x5[`lib.es2023.full.d.ts`]=!0,x5[`lib.es2023.intl.d.ts`]=!0,x5[`lib.es2024.arraybuffer.d.ts`]=!0,x5[`lib.es2024.collection.d.ts`]=!0,x5[`lib.es2024.d.ts`]=!0,x5[`lib.es2024.full.d.ts`]=!0,x5[`lib.es2024.object.d.ts`]=!0,x5[`lib.es2024.promise.d.ts`]=!0,x5[`lib.es2024.regexp.d.ts`]=!0,x5[`lib.es2024.sharedmemory.d.ts`]=!0,x5[`lib.es2024.string.d.ts`]=!0,x5[`lib.es5.d.ts`]=!0,x5[`lib.es6.d.ts`]=!0,x5[`lib.esnext.array.d.ts`]=!0,x5[`lib.esnext.collection.d.ts`]=!0,x5[`lib.esnext.d.ts`]=!0,x5[`lib.esnext.decorators.d.ts`]=!0,x5[`lib.esnext.disposable.d.ts`]=!0,x5[`lib.esnext.error.d.ts`]=!0,x5[`lib.esnext.float16.d.ts`]=!0,x5[`lib.esnext.full.d.ts`]=!0,x5[`lib.esnext.intl.d.ts`]=!0,x5[`lib.esnext.iterator.d.ts`]=!0,x5[`lib.esnext.promise.d.ts`]=!0,x5[`lib.esnext.sharedmemory.d.ts`]=!0,x5[`lib.scripthost.d.ts`]=!0,x5[`lib.webworker.asynciterable.d.ts`]=!0,x5[`lib.webworker.d.ts`]=!0,x5[`lib.webworker.importscripts.d.ts`]=!0,x5[`lib.webworker.iterable.d.ts`]=!0;function S5(e,t,n=0){if(typeof e==`string`)return e;if(e===void 0)return``;let r=``;if(n){r+=t;for(let e=0;e<n;e++)r+=` `}if(r+=e.messageText,n++,e.next)for(let i of e.next)r+=S5(i,t,n);return r}function C5(e){return e?e.map(e=>e.text).join(``):``}var w5=class{constructor(e){this._worker=e}_textSpanToRange(e,t){let n=e.getPositionAt(t.start),r=e.getPositionAt(t.start+t.length),{lineNumber:i,column:a}=n,{lineNumber:o,column:s}=r;return{startLineNumber:i,startColumn:a,endLineNumber:o,endColumn:s}}},T5=class{constructor(e){this._worker=e,this._libFiles={},this._hasFetchedLibFiles=!1,this._fetchLibFilesPromise=null}isLibFile(e){return e?e.path.indexOf(`/lib.`)===0&&!!x5[e.path.slice(1)]:!1}getOrCreateModel(e){let t=tU.parse(e),n=nU.getModel(t);if(n)return n;if(this.isLibFile(t)&&this._hasFetchedLibFiles)return nU.createModel(this._libFiles[t.path.slice(1)],`typescript`,t);let r=v5.getExtraLibs()[e];return r?nU.createModel(r.content,`typescript`,t):null}_containsLibFile(e){for(let t of e)if(this.isLibFile(t))return!0;return!1}async fetchLibFilesIfNecessary(e){this._containsLibFile(e)&&await this._fetchLibFiles()}_fetchLibFiles(){return this._fetchLibFilesPromise||=this._worker().then(e=>e.getLibFiles()).then(e=>{this._hasFetchedLibFiles=!0,this._libFiles=e}),this._fetchLibFilesPromise}},E5=class extends w5{constructor(e,t,n,r){super(r),this._libFiles=e,this._defaults=t,this._selector=n,this._disposables=[],this._listener=Object.create(null);let i=e=>{if(e.getLanguageId()!==n)return;let t=()=>{let{onlyVisible:t}=this._defaults.getDiagnosticsOptions();t?e.isAttachedToEditor()&&this._doValidate(e):this._doValidate(e)},r,i=e.onDidChangeContent(()=>{clearTimeout(r),r=window.setTimeout(t,500)}),a=e.onDidChangeAttached(()=>{let{onlyVisible:n}=this._defaults.getDiagnosticsOptions();n&&(e.isAttachedToEditor()?t():nU.setModelMarkers(e,this._selector,[]))});this._listener[e.uri.toString()]={dispose(){i.dispose(),a.dispose(),clearTimeout(r)}},t()},a=e=>{nU.setModelMarkers(e,this._selector,[]);let t=e.uri.toString();this._listener[t]&&(this._listener[t].dispose(),delete this._listener[t])};this._disposables.push(nU.onDidCreateModel(e=>i(e))),this._disposables.push(nU.onWillDisposeModel(a)),this._disposables.push(nU.onDidChangeModelLanguage(e=>{a(e.model),i(e.model)})),this._disposables.push({dispose(){for(let e of nU.getModels())a(e)}});let o=()=>{for(let e of nU.getModels())a(e),i(e)};this._disposables.push(this._defaults.onDidChange(o)),this._disposables.push(this._defaults.onDidExtraLibsChange(o)),nU.getModels().forEach(e=>i(e))}dispose(){this._disposables.forEach(e=>e&&e.dispose()),this._disposables=[]}async _doValidate(e){let t=await this._worker(e.uri);if(e.isDisposed())return;let n=[],{noSyntaxValidation:r,noSemanticValidation:i,noSuggestionDiagnostics:a}=this._defaults.getDiagnosticsOptions();r||n.push(t.getSyntacticDiagnostics(e.uri.toString())),i||n.push(t.getSemanticDiagnostics(e.uri.toString())),a||n.push(t.getSuggestionDiagnostics(e.uri.toString()));let o=await Promise.all(n);if(!o||e.isDisposed())return;let s=o.reduce((e,t)=>t.concat(e),[]).filter(e=>(this._defaults.getDiagnosticsOptions().diagnosticCodesToIgnore||[]).indexOf(e.code)===-1),c=s.map(e=>e.relatedInformation||[]).reduce((e,t)=>t.concat(e),[]).map(e=>e.file?tU.parse(e.file.fileName):null);await this._libFiles.fetchLibFilesIfNecessary(c),!e.isDisposed()&&nU.setModelMarkers(e,this._selector,s.map(t=>this._convertDiagnostics(e,t)))}_convertDiagnostics(e,t){let n=t.start||0,r=t.length||1,{lineNumber:i,column:a}=e.getPositionAt(n),{lineNumber:o,column:s}=e.getPositionAt(n+r),c=[];return t.reportsUnnecessary&&c.push(eU.Unnecessary),t.reportsDeprecated&&c.push(eU.Deprecated),{severity:this._tsDiagnosticCategoryToMarkerSeverity(t.category),startLineNumber:i,startColumn:a,endLineNumber:o,endColumn:s,message:S5(t.messageText,`
1212
+ `+` `.repeat(t));var SJe;(function(e){e.DEFAULT={allowTrailingComma:!1}})(SJe||={});var CJe=bJe,wJe;(function(e){e[e.None=0]=`None`,e[e.UnexpectedEndOfComment=1]=`UnexpectedEndOfComment`,e[e.UnexpectedEndOfString=2]=`UnexpectedEndOfString`,e[e.UnexpectedEndOfNumber=3]=`UnexpectedEndOfNumber`,e[e.InvalidUnicode=4]=`InvalidUnicode`,e[e.InvalidEscapeCharacter=5]=`InvalidEscapeCharacter`,e[e.InvalidCharacter=6]=`InvalidCharacter`})(wJe||={});var TJe;(function(e){e[e.OpenBraceToken=1]=`OpenBraceToken`,e[e.CloseBraceToken=2]=`CloseBraceToken`,e[e.OpenBracketToken=3]=`OpenBracketToken`,e[e.CloseBracketToken=4]=`CloseBracketToken`,e[e.CommaToken=5]=`CommaToken`,e[e.ColonToken=6]=`ColonToken`,e[e.NullKeyword=7]=`NullKeyword`,e[e.TrueKeyword=8]=`TrueKeyword`,e[e.FalseKeyword=9]=`FalseKeyword`,e[e.StringLiteral=10]=`StringLiteral`,e[e.NumericLiteral=11]=`NumericLiteral`,e[e.LineCommentTrivia=12]=`LineCommentTrivia`,e[e.BlockCommentTrivia=13]=`BlockCommentTrivia`,e[e.LineBreakTrivia=14]=`LineBreakTrivia`,e[e.Trivia=15]=`Trivia`,e[e.Unknown=16]=`Unknown`,e[e.EOF=17]=`EOF`})(TJe||={});var EJe;(function(e){e[e.InvalidSymbol=1]=`InvalidSymbol`,e[e.InvalidNumberFormat=2]=`InvalidNumberFormat`,e[e.PropertyNameExpected=3]=`PropertyNameExpected`,e[e.ValueExpected=4]=`ValueExpected`,e[e.ColonExpected=5]=`ColonExpected`,e[e.CommaExpected=6]=`CommaExpected`,e[e.CloseBraceExpected=7]=`CloseBraceExpected`,e[e.CloseBracketExpected=8]=`CloseBracketExpected`,e[e.EndOfFileExpected=9]=`EndOfFileExpected`,e[e.InvalidCommentToken=10]=`InvalidCommentToken`,e[e.UnexpectedEndOfComment=11]=`UnexpectedEndOfComment`,e[e.UnexpectedEndOfString=12]=`UnexpectedEndOfString`,e[e.UnexpectedEndOfNumber=13]=`UnexpectedEndOfNumber`,e[e.InvalidUnicode=14]=`InvalidUnicode`,e[e.InvalidEscapeCharacter=15]=`InvalidEscapeCharacter`,e[e.InvalidCharacter=16]=`InvalidCharacter`})(EJe||={});function DJe(e){return{getInitialState:()=>new o5(null,null,!1,null),tokenize:(t,n)=>LJe(e,t,n)}}var r5=`delimiter.bracket.json`,i5=`delimiter.array.json`,OJe=`delimiter.colon.json`,kJe=`delimiter.comma.json`,AJe=`keyword.json`,jJe=`keyword.json`,MJe=`string.value.json`,NJe=`number.json`,PJe=`string.key.json`,FJe=`comment.block.json`,IJe=`comment.line.json`,a5=class e{constructor(e,t){this.parent=e,this.type=t}static pop(e){return e?e.parent:null}static push(t,n){return new e(t,n)}static equals(e,t){if(!e&&!t)return!0;if(!e||!t)return!1;for(;e&&t;){if(e===t)return!0;if(e.type!==t.type)return!1;e=e.parent,t=t.parent}return!0}},o5=class e{constructor(e,t,n,r){this._state=e,this.scanError=t,this.lastWasColon=n,this.parents=r}clone(){return new e(this._state,this.scanError,this.lastWasColon,this.parents)}equals(t){return t===this?!0:!t||!(t instanceof e)?!1:this.scanError===t.scanError&&this.lastWasColon===t.lastWasColon&&a5.equals(this.parents,t.parents)}getStateData(){return this._state}setStateData(e){this._state=e}};function LJe(e,t,n,r=0){let i=0,a=!1;switch(n.scanError){case 2:t=`"`+t,i=1;break;case 1:t=`/*`+t,i=2}let o=CJe(t),s=n.lastWasColon,c=n.parents,l={tokens:[],endState:n.clone()};for(;;){let e=r+o.getPosition(),u=``,d=o.scan();if(d===17)break;if(e===r+o.getPosition())throw Error(`Scanner did not advance, next 3 characters are: `+t.substr(o.getPosition(),3));switch(a&&(e-=i),a=i>0,d){case 1:c=a5.push(c,0),u=r5,s=!1;break;case 2:c=a5.pop(c),u=r5,s=!1;break;case 3:c=a5.push(c,1),u=i5,s=!1;break;case 4:c=a5.pop(c),u=i5,s=!1;break;case 6:u=OJe,s=!0;break;case 5:u=kJe,s=!1;break;case 8:case 9:u=AJe,s=!1;break;case 7:u=jJe,s=!1;break;case 10:let e=(c?c.type:0)===1;u=s||e?MJe:PJe,s=!1;break;case 11:u=NJe,s=!1}switch(d){case 12:u=IJe;break;case 13:u=FJe}l.endState=new o5(n.getStateData(),o.getTokenError(),s,c),l.tokens.push({startIndex:e,scopes:u})}return l}var RJe=e({CompletionAdapter:()=>w8,DefinitionAdapter:()=>M8,DiagnosticsAdapter:()=>C8,DocumentColorAdapter:()=>U8,DocumentFormattingEditProvider:()=>B8,DocumentHighlightAdapter:()=>j8,DocumentLinkAdapter:()=>z8,DocumentRangeFormattingEditProvider:()=>V8,DocumentSymbolAdapter:()=>I8,FoldingRangeAdapter:()=>W8,HoverAdapter:()=>k8,ReferenceAdapter:()=>P8,RenameAdapter:()=>F8,SelectionRangeAdapter:()=>G8,WorkerManager:()=>Q8,fromPosition:()=>T8,fromRange:()=>E8,getWorker:()=>zJe,setupMode:()=>VJe,toRange:()=>D8,toTextEdit:()=>O8}),s5;function zJe(){return new Promise((e,t)=>{if(!s5)return t(`JSON not registered!`);e(s5)})}var BJe=class extends C8{constructor(e,t,n){super(e,t,n.onDidChange),this._disposables.push(nU.onWillDisposeModel(e=>{this._resetSchema(e.uri)})),this._disposables.push(nU.onDidChangeModelLanguage(e=>{this._resetSchema(e.model.uri)}))}_resetSchema(e){this._worker().then(t=>{t.resetSchema(e.toString())})}};function VJe(e){let t=[],n=[],r=new Q8(e);t.push(r),s5=(...e)=>r.getLanguageServiceWorker(...e);function i(){let{languageId:t,modeConfiguration:r}=e;l5(n),r.documentFormattingEdits&&n.push(Q.registerDocumentFormattingEditProvider(t,new B8(s5))),r.documentRangeFormattingEdits&&n.push(Q.registerDocumentRangeFormattingEditProvider(t,new V8(s5))),r.completionItems&&n.push(Q.registerCompletionItemProvider(t,new w8(s5,[` `,`:`,`"`]))),r.hovers&&n.push(Q.registerHoverProvider(t,new k8(s5))),r.documentSymbols&&n.push(Q.registerDocumentSymbolProvider(t,new I8(s5))),r.tokens&&n.push(Q.setTokensProvider(t,DJe(!0))),r.colors&&n.push(Q.registerColorProvider(t,new U8(s5))),r.foldingRanges&&n.push(Q.registerFoldingRangeProvider(t,new W8(s5))),r.diagnostics&&n.push(new BJe(t,s5,e)),r.selectionRanges&&n.push(Q.registerSelectionRangeProvider(t,new G8(s5)))}i(),t.push(Q.setLanguageConfiguration(e.languageId,HJe));let a=e.modeConfiguration;return e.onDidChange(e=>{e.modeConfiguration!==a&&(a=e.modeConfiguration,i())}),t.push(c5(n)),c5(t)}function c5(e){return{dispose:()=>l5(e)}}function l5(e){for(;e.length;)e.pop().dispose()}var HJe={wordPattern:/(-?\d*\.\d\w*)|([^\[\{\]\}\:\"\,\s]+)/g,comments:{lineComment:`//`,blockComment:[`/*`,`*/`]},brackets:[[`{`,`}`],[`[`,`]`]],autoClosingPairs:[{open:`{`,close:`}`,notIn:[`string`]},{open:`[`,close:`]`,notIn:[`string`]},{open:`"`,close:`"`,notIn:[`string`]}]},u5=class{constructor(e,t){this._modeId=e,this._defaults=t,this._worker=null,this._client=null,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker()),this._updateExtraLibsToken=0,this._extraLibsChangeListener=this._defaults.onDidExtraLibsChange(()=>this._updateExtraLibs())}dispose(){this._configChangeListener.dispose(),this._extraLibsChangeListener.dispose(),this._stopWorker()}_stopWorker(){this._worker&&=(this._worker.dispose(),null),this._client=null}async _updateExtraLibs(){if(!this._worker)return;let e=++this._updateExtraLibsToken,t=await this._worker.getProxy();this._updateExtraLibsToken===e&&t.updateExtraLibs(this._defaults.getExtraLibs())}_getClient(){return this._client||=(async()=>(this._worker=G6({moduleId:`vs/language/typescript/tsWorker`,createWorker:()=>new Worker(new URL(`/assets/ts.worker-9_CJKYKz.js`,``+import.meta.url),{type:`module`}),label:this._modeId,keepIdleModels:!0,createData:{compilerOptions:this._defaults.getCompilerOptions(),extraLibs:this._defaults.getExtraLibs(),customWorkerPath:this._defaults.workerOptions.customWorkerPath,inlayHintsOptions:this._defaults.inlayHintsOptions}}),this._defaults.getEagerModelSync()?await this._worker.withSyncedResources(nU.getModels().filter(e=>e.getLanguageId()===this._modeId).map(e=>e.uri)):await this._worker.getProxy()))(),this._client}async getLanguageServiceWorker(...e){let t=await this._getClient();return this._worker&&await this._worker.withSyncedResources(e),t}},UJe=`5.9.3`,WJe=e({JsxEmit:()=>f5,ModuleKind:()=>d5,ModuleResolutionKind:()=>h5,NewLineKind:()=>p5,ScriptTarget:()=>m5,getJavaScriptWorker:()=>qJe,getTypeScriptWorker:()=>KJe,javascriptDefaults:()=>y5,typescriptDefaults:()=>v5,typescriptVersion:()=>GJe}),d5=(e=>(e[e.None=0]=`None`,e[e.CommonJS=1]=`CommonJS`,e[e.AMD=2]=`AMD`,e[e.UMD=3]=`UMD`,e[e.System=4]=`System`,e[e.ES2015=5]=`ES2015`,e[e.ESNext=99]=`ESNext`,e))(d5||{}),f5=(e=>(e[e.None=0]=`None`,e[e.Preserve=1]=`Preserve`,e[e.React=2]=`React`,e[e.ReactNative=3]=`ReactNative`,e[e.ReactJSX=4]=`ReactJSX`,e[e.ReactJSXDev=5]=`ReactJSXDev`,e))(f5||{}),p5=(e=>(e[e.CarriageReturnLineFeed=0]=`CarriageReturnLineFeed`,e[e.LineFeed=1]=`LineFeed`,e))(p5||{}),m5=(e=>(e[e.ES3=0]=`ES3`,e[e.ES5=1]=`ES5`,e[e.ES2015=2]=`ES2015`,e[e.ES2016=3]=`ES2016`,e[e.ES2017=4]=`ES2017`,e[e.ES2018=5]=`ES2018`,e[e.ES2019=6]=`ES2019`,e[e.ES2020=7]=`ES2020`,e[e.ESNext=99]=`ESNext`,e[e.JSON=100]=`JSON`,e[e.Latest=99]=`Latest`,e))(m5||{}),h5=(e=>(e[e.Classic=1]=`Classic`,e[e.NodeJs=2]=`NodeJs`,e))(h5||{}),g5=class{constructor(e,t,n,r,i){this._onDidChange=new JH,this._onDidExtraLibsChange=new JH,this._extraLibs=Object.create(null),this._removedExtraLibs=Object.create(null),this._eagerModelSync=!1,this.setCompilerOptions(e),this.setDiagnosticsOptions(t),this.setWorkerOptions(n),this.setInlayHintsOptions(r),this.setModeConfiguration(i),this._onDidExtraLibsChangeTimeout=-1}get onDidChange(){return this._onDidChange.event}get onDidExtraLibsChange(){return this._onDidExtraLibsChange.event}get modeConfiguration(){return this._modeConfiguration}get workerOptions(){return this._workerOptions}get inlayHintsOptions(){return this._inlayHintsOptions}getExtraLibs(){return this._extraLibs}addExtraLib(e,t){let n;if(n=t===void 0?`ts:extralib-${Math.random().toString(36).substring(2,15)}`:t,this._extraLibs[n]&&this._extraLibs[n].content===e)return{dispose:()=>{}};let r=1;return this._removedExtraLibs[n]&&(r=this._removedExtraLibs[n]+1),this._extraLibs[n]&&(r=this._extraLibs[n].version+1),this._extraLibs[n]={content:e,version:r},this._fireOnDidExtraLibsChangeSoon(),{dispose:()=>{let e=this._extraLibs[n];e&&e.version===r&&(delete this._extraLibs[n],this._removedExtraLibs[n]=r,this._fireOnDidExtraLibsChangeSoon())}}}setExtraLibs(e){for(let e in this._extraLibs)this._removedExtraLibs[e]=this._extraLibs[e].version;if(this._extraLibs=Object.create(null),e&&e.length>0)for(let t of e){let e=t.filePath||`ts:extralib-${Math.random().toString(36).substring(2,15)}`,n=t.content,r=1;this._removedExtraLibs[e]&&(r=this._removedExtraLibs[e]+1),this._extraLibs[e]={content:n,version:r}}this._fireOnDidExtraLibsChangeSoon()}_fireOnDidExtraLibsChangeSoon(){this._onDidExtraLibsChangeTimeout===-1&&(this._onDidExtraLibsChangeTimeout=window.setTimeout(()=>{this._onDidExtraLibsChangeTimeout=-1,this._onDidExtraLibsChange.fire(void 0)},0))}getCompilerOptions(){return this._compilerOptions}setCompilerOptions(e){this._compilerOptions=e||Object.create(null),this._onDidChange.fire(void 0)}getDiagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(e){this._diagnosticsOptions=e||Object.create(null),this._onDidChange.fire(void 0)}setWorkerOptions(e){this._workerOptions=e||Object.create(null),this._onDidChange.fire(void 0)}setInlayHintsOptions(e){this._inlayHintsOptions=e||Object.create(null),this._onDidChange.fire(void 0)}setMaximumWorkerIdleTime(e){}setEagerModelSync(e){this._eagerModelSync=e}getEagerModelSync(){return this._eagerModelSync}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(void 0)}},GJe=UJe,_5={completionItems:!0,hovers:!0,documentSymbols:!0,definitions:!0,references:!0,documentHighlights:!0,rename:!0,diagnostics:!0,documentRangeFormattingEdits:!0,signatureHelp:!0,onTypeFormattingEdits:!0,codeActions:!0,inlayHints:!0},v5=new g5({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{},_5),y5=new g5({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{},_5),KJe=()=>b5().then(e=>e.getTypeScriptWorker()),qJe=()=>b5().then(e=>e.getJavaScriptWorker());function b5(){return r(()=>Promise.resolve().then(()=>JJe),void 0)}Q.onLanguage(`typescript`,()=>b5().then(e=>e.setupTypeScript(v5))),Q.onLanguage(`javascript`,()=>b5().then(e=>e.setupJavaScript(y5)));var x5={};x5[`lib.d.ts`]=!0,x5[`lib.decorators.d.ts`]=!0,x5[`lib.decorators.legacy.d.ts`]=!0,x5[`lib.dom.asynciterable.d.ts`]=!0,x5[`lib.dom.d.ts`]=!0,x5[`lib.dom.iterable.d.ts`]=!0,x5[`lib.es2015.collection.d.ts`]=!0,x5[`lib.es2015.core.d.ts`]=!0,x5[`lib.es2015.d.ts`]=!0,x5[`lib.es2015.generator.d.ts`]=!0,x5[`lib.es2015.iterable.d.ts`]=!0,x5[`lib.es2015.promise.d.ts`]=!0,x5[`lib.es2015.proxy.d.ts`]=!0,x5[`lib.es2015.reflect.d.ts`]=!0,x5[`lib.es2015.symbol.d.ts`]=!0,x5[`lib.es2015.symbol.wellknown.d.ts`]=!0,x5[`lib.es2016.array.include.d.ts`]=!0,x5[`lib.es2016.d.ts`]=!0,x5[`lib.es2016.full.d.ts`]=!0,x5[`lib.es2016.intl.d.ts`]=!0,x5[`lib.es2017.arraybuffer.d.ts`]=!0,x5[`lib.es2017.d.ts`]=!0,x5[`lib.es2017.date.d.ts`]=!0,x5[`lib.es2017.full.d.ts`]=!0,x5[`lib.es2017.intl.d.ts`]=!0,x5[`lib.es2017.object.d.ts`]=!0,x5[`lib.es2017.sharedmemory.d.ts`]=!0,x5[`lib.es2017.string.d.ts`]=!0,x5[`lib.es2017.typedarrays.d.ts`]=!0,x5[`lib.es2018.asyncgenerator.d.ts`]=!0,x5[`lib.es2018.asynciterable.d.ts`]=!0,x5[`lib.es2018.d.ts`]=!0,x5[`lib.es2018.full.d.ts`]=!0,x5[`lib.es2018.intl.d.ts`]=!0,x5[`lib.es2018.promise.d.ts`]=!0,x5[`lib.es2018.regexp.d.ts`]=!0,x5[`lib.es2019.array.d.ts`]=!0,x5[`lib.es2019.d.ts`]=!0,x5[`lib.es2019.full.d.ts`]=!0,x5[`lib.es2019.intl.d.ts`]=!0,x5[`lib.es2019.object.d.ts`]=!0,x5[`lib.es2019.string.d.ts`]=!0,x5[`lib.es2019.symbol.d.ts`]=!0,x5[`lib.es2020.bigint.d.ts`]=!0,x5[`lib.es2020.d.ts`]=!0,x5[`lib.es2020.date.d.ts`]=!0,x5[`lib.es2020.full.d.ts`]=!0,x5[`lib.es2020.intl.d.ts`]=!0,x5[`lib.es2020.number.d.ts`]=!0,x5[`lib.es2020.promise.d.ts`]=!0,x5[`lib.es2020.sharedmemory.d.ts`]=!0,x5[`lib.es2020.string.d.ts`]=!0,x5[`lib.es2020.symbol.wellknown.d.ts`]=!0,x5[`lib.es2021.d.ts`]=!0,x5[`lib.es2021.full.d.ts`]=!0,x5[`lib.es2021.intl.d.ts`]=!0,x5[`lib.es2021.promise.d.ts`]=!0,x5[`lib.es2021.string.d.ts`]=!0,x5[`lib.es2021.weakref.d.ts`]=!0,x5[`lib.es2022.array.d.ts`]=!0,x5[`lib.es2022.d.ts`]=!0,x5[`lib.es2022.error.d.ts`]=!0,x5[`lib.es2022.full.d.ts`]=!0,x5[`lib.es2022.intl.d.ts`]=!0,x5[`lib.es2022.object.d.ts`]=!0,x5[`lib.es2022.regexp.d.ts`]=!0,x5[`lib.es2022.string.d.ts`]=!0,x5[`lib.es2023.array.d.ts`]=!0,x5[`lib.es2023.collection.d.ts`]=!0,x5[`lib.es2023.d.ts`]=!0,x5[`lib.es2023.full.d.ts`]=!0,x5[`lib.es2023.intl.d.ts`]=!0,x5[`lib.es2024.arraybuffer.d.ts`]=!0,x5[`lib.es2024.collection.d.ts`]=!0,x5[`lib.es2024.d.ts`]=!0,x5[`lib.es2024.full.d.ts`]=!0,x5[`lib.es2024.object.d.ts`]=!0,x5[`lib.es2024.promise.d.ts`]=!0,x5[`lib.es2024.regexp.d.ts`]=!0,x5[`lib.es2024.sharedmemory.d.ts`]=!0,x5[`lib.es2024.string.d.ts`]=!0,x5[`lib.es5.d.ts`]=!0,x5[`lib.es6.d.ts`]=!0,x5[`lib.esnext.array.d.ts`]=!0,x5[`lib.esnext.collection.d.ts`]=!0,x5[`lib.esnext.d.ts`]=!0,x5[`lib.esnext.decorators.d.ts`]=!0,x5[`lib.esnext.disposable.d.ts`]=!0,x5[`lib.esnext.error.d.ts`]=!0,x5[`lib.esnext.float16.d.ts`]=!0,x5[`lib.esnext.full.d.ts`]=!0,x5[`lib.esnext.intl.d.ts`]=!0,x5[`lib.esnext.iterator.d.ts`]=!0,x5[`lib.esnext.promise.d.ts`]=!0,x5[`lib.esnext.sharedmemory.d.ts`]=!0,x5[`lib.scripthost.d.ts`]=!0,x5[`lib.webworker.asynciterable.d.ts`]=!0,x5[`lib.webworker.d.ts`]=!0,x5[`lib.webworker.importscripts.d.ts`]=!0,x5[`lib.webworker.iterable.d.ts`]=!0;function S5(e,t,n=0){if(typeof e==`string`)return e;if(e===void 0)return``;let r=``;if(n){r+=t;for(let e=0;e<n;e++)r+=` `}if(r+=e.messageText,n++,e.next)for(let i of e.next)r+=S5(i,t,n);return r}function C5(e){return e?e.map(e=>e.text).join(``):``}var w5=class{constructor(e){this._worker=e}_textSpanToRange(e,t){let n=e.getPositionAt(t.start),r=e.getPositionAt(t.start+t.length),{lineNumber:i,column:a}=n,{lineNumber:o,column:s}=r;return{startLineNumber:i,startColumn:a,endLineNumber:o,endColumn:s}}},T5=class{constructor(e){this._worker=e,this._libFiles={},this._hasFetchedLibFiles=!1,this._fetchLibFilesPromise=null}isLibFile(e){return e?e.path.indexOf(`/lib.`)===0&&!!x5[e.path.slice(1)]:!1}getOrCreateModel(e){let t=tU.parse(e),n=nU.getModel(t);if(n)return n;if(this.isLibFile(t)&&this._hasFetchedLibFiles)return nU.createModel(this._libFiles[t.path.slice(1)],`typescript`,t);let r=v5.getExtraLibs()[e];return r?nU.createModel(r.content,`typescript`,t):null}_containsLibFile(e){for(let t of e)if(this.isLibFile(t))return!0;return!1}async fetchLibFilesIfNecessary(e){this._containsLibFile(e)&&await this._fetchLibFiles()}_fetchLibFiles(){return this._fetchLibFilesPromise||=this._worker().then(e=>e.getLibFiles()).then(e=>{this._hasFetchedLibFiles=!0,this._libFiles=e}),this._fetchLibFilesPromise}},E5=class extends w5{constructor(e,t,n,r){super(r),this._libFiles=e,this._defaults=t,this._selector=n,this._disposables=[],this._listener=Object.create(null);let i=e=>{if(e.getLanguageId()!==n)return;let t=()=>{let{onlyVisible:t}=this._defaults.getDiagnosticsOptions();t?e.isAttachedToEditor()&&this._doValidate(e):this._doValidate(e)},r,i=e.onDidChangeContent(()=>{clearTimeout(r),r=window.setTimeout(t,500)}),a=e.onDidChangeAttached(()=>{let{onlyVisible:n}=this._defaults.getDiagnosticsOptions();n&&(e.isAttachedToEditor()?t():nU.setModelMarkers(e,this._selector,[]))});this._listener[e.uri.toString()]={dispose(){i.dispose(),a.dispose(),clearTimeout(r)}},t()},a=e=>{nU.setModelMarkers(e,this._selector,[]);let t=e.uri.toString();this._listener[t]&&(this._listener[t].dispose(),delete this._listener[t])};this._disposables.push(nU.onDidCreateModel(e=>i(e))),this._disposables.push(nU.onWillDisposeModel(a)),this._disposables.push(nU.onDidChangeModelLanguage(e=>{a(e.model),i(e.model)})),this._disposables.push({dispose(){for(let e of nU.getModels())a(e)}});let o=()=>{for(let e of nU.getModels())a(e),i(e)};this._disposables.push(this._defaults.onDidChange(o)),this._disposables.push(this._defaults.onDidExtraLibsChange(o)),nU.getModels().forEach(e=>i(e))}dispose(){this._disposables.forEach(e=>e&&e.dispose()),this._disposables=[]}async _doValidate(e){let t=await this._worker(e.uri);if(e.isDisposed())return;let n=[],{noSyntaxValidation:r,noSemanticValidation:i,noSuggestionDiagnostics:a}=this._defaults.getDiagnosticsOptions();r||n.push(t.getSyntacticDiagnostics(e.uri.toString())),i||n.push(t.getSemanticDiagnostics(e.uri.toString())),a||n.push(t.getSuggestionDiagnostics(e.uri.toString()));let o=await Promise.all(n);if(!o||e.isDisposed())return;let s=o.reduce((e,t)=>t.concat(e),[]).filter(e=>(this._defaults.getDiagnosticsOptions().diagnosticCodesToIgnore||[]).indexOf(e.code)===-1),c=s.map(e=>e.relatedInformation||[]).reduce((e,t)=>t.concat(e),[]).map(e=>e.file?tU.parse(e.file.fileName):null);await this._libFiles.fetchLibFilesIfNecessary(c),!e.isDisposed()&&nU.setModelMarkers(e,this._selector,s.map(t=>this._convertDiagnostics(e,t)))}_convertDiagnostics(e,t){let n=t.start||0,r=t.length||1,{lineNumber:i,column:a}=e.getPositionAt(n),{lineNumber:o,column:s}=e.getPositionAt(n+r),c=[];return t.reportsUnnecessary&&c.push(eU.Unnecessary),t.reportsDeprecated&&c.push(eU.Deprecated),{severity:this._tsDiagnosticCategoryToMarkerSeverity(t.category),startLineNumber:i,startColumn:a,endLineNumber:o,endColumn:s,message:S5(t.messageText,`
1213
1213
  `),code:t.code.toString(),tags:c,relatedInformation:this._convertRelatedInformation(e,t.relatedInformation)}}_convertRelatedInformation(e,t){if(!t)return[];let n=[];return t.forEach(t=>{let r=e;if(t.file&&(r=this._libFiles.getOrCreateModel(t.file.fileName)),!r)return;let i=t.start||0,a=t.length||1,{lineNumber:o,column:s}=r.getPositionAt(i),{lineNumber:c,column:l}=r.getPositionAt(i+a);n.push({resource:r.uri,startLineNumber:o,startColumn:s,endLineNumber:c,endColumn:l,message:S5(t.messageText,`
1214
1214
  `)})}),n}_tsDiagnosticCategoryToMarkerSeverity(e){switch(e){case 1:return $H.Error;case 3:return $H.Info;case 0:return $H.Warning;case 2:return $H.Hint}return $H.Info}},D5=class e extends w5{get triggerCharacters(){return[`.`]}async provideCompletionItems(t,n,r,i){let a=t.getWordUntilPosition(n),o=new QH(n.lineNumber,a.startColumn,n.lineNumber,a.endColumn),s=t.uri,c=t.getOffsetAt(n),l=await this._worker(s);if(t.isDisposed())return;let u=await l.getCompletionsAtPosition(s.toString(),c);if(u&&!t.isDisposed())return{suggestions:u.entries.map(r=>{let i=o;if(r.replacementSpan){let e=t.getPositionAt(r.replacementSpan.start),n=t.getPositionAt(r.replacementSpan.start+r.replacementSpan.length);i=new QH(e.lineNumber,e.column,n.lineNumber,n.column)}let a=[];return r.kindModifiers!==void 0&&r.kindModifiers.indexOf(`deprecated`)!==-1&&a.push(Q.CompletionItemTag.Deprecated),{uri:s,position:n,offset:c,range:i,label:r.name,insertText:r.name,sortText:r.sortText,kind:e.convertKind(r.kind),tags:a}})}}async resolveCompletionItem(t,n){let r=t,i=r.uri,a=r.position,o=r.offset,s=await(await this._worker(i)).getCompletionEntryDetails(i.toString(),o,r.label);return s?{uri:i,position:a,label:s.name,kind:e.convertKind(s.kind),detail:C5(s.displayParts),documentation:{value:e.createDocumentationString(s)}}:r}static convertKind(e){switch(e){case F5.primitiveType:case F5.keyword:return Q.CompletionItemKind.Keyword;case F5.variable:case F5.localVariable:return Q.CompletionItemKind.Variable;case F5.memberVariable:case F5.memberGetAccessor:case F5.memberSetAccessor:return Q.CompletionItemKind.Field;case F5.function:case F5.memberFunction:case F5.constructSignature:case F5.callSignature:case F5.indexSignature:return Q.CompletionItemKind.Function;case F5.enum:return Q.CompletionItemKind.Enum;case F5.module:return Q.CompletionItemKind.Module;case F5.class:return Q.CompletionItemKind.Class;case F5.interface:return Q.CompletionItemKind.Interface;case F5.warning:return Q.CompletionItemKind.File}return Q.CompletionItemKind.Property}static createDocumentationString(e){let t=C5(e.documentation);if(e.tags)for(let n of e.tags)t+=`
1215
1215